C语言typeof怎么输出类型
时间: 2024-09-13 13:12:16 浏览: 63
如何在C语言的宏中使用类型关键字
C语言中的`typeof`关键字并不是标准库的一部分,它实际上是一个GCC(GNU Compiler Collection,即GNU编译器套件)提供的非正式扩展。`typeof`用于获取表达式的类型信息,但在C标准库中并没有直接对应的函数或操作符来打印类型名称。
如果你想在GCC环境中查看类型,你可以这样做:
```c
#include <stdio.h>
#include <stdlib.h>
#define typeof(expr) __typeof__(expr)
int main() {
int i = 5;
typeof(i) type = sizeof(i); // 获取变量i的类型信息
printf("The type of 'i' is: %s\n", typeid(type).name()); // GCC特有的,非标准,仅能输出内联名字空间名
return 0;
}
```
然而,`typeid`不是C语言的标准特性,它的行为取决于编译器。在某些现代编译器如Clang中,也有类似的功能,但可能返回的是更复杂的类型标识符,而不是人类可读的字符串。
阅读全文