__typeof(a) __c = a的含义
时间: 2024-01-10 13:39:03 浏览: 22
这行代码的含义是:定义一个变量__c,其类型与变量a的类型相同。
__typeof(a)是GCC编译器内置的关键字,用于获取变量a的类型。将这个类型赋值给变量__c,相当于定义了一个类型与a相同的变量。
举个例子,如果变量a是int类型的,那么__typeof(a)就是int,这行代码相当于定义了一个int类型的变量__c,其初始值为a的值。
这种写法可以提高代码的可读性和可维护性,因为在定义变量时可以避免手动输入变量类型,而是直接使用__typeof(a)获取变量a的类型。这样即使变量a的类型发生变化,变量__c的类型也会自动跟随变化,不需要手动修改。
相关问题
__typeof与typeof
__typeof是GCC编译器内置的关键字,用于获取变量或表达式的类型,例如:
```
__typeof__(expression) variable;
```
typeof是C++11标准引入的type traits的一部分,用于获取类型的信息,例如:
```
std::cout << typeid(expression).name() << std::endl;
```
两者的作用类似,但是__typeof是GCC的扩展,不具有跨平台性,而typeof是C++标准库的一部分,具有更好的兼容性。
C中__typeof
__typeof__是GNU C的一个扩展,它可以返回一个表达式的类型。它的语法如下:
```c
__typeof__(expression)
```
其中expression是一个C表达式。__typeof__返回expression的类型。下面是一个例子:
```c
int a = 10;
__typeof__(a) b = a; // b的类型是int
```
在上面的例子中,__typeof__(a)返回int,因此b的类型也是int。
需要注意的是,__typeof__只是一个扩展,不是标准C的一部分。因此,如果你想编写可移植的代码,最好不要使用它。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)