这是C语言的一个新特性,目前使用还不是很广泛。大部分应用都是在宏中。如果您看过前面提及的sizeof关键字,就容易理解typeof了。
typeof关键字用于获取括号内的表达式的类型。这个类型是一个编译器的内部表示。表达式不会生成代码。这和sizeof很类似。
例子:
typeof(int) a; // int a
typeof(a) b; // int b
typeof(++b) c; // int c
注意点:
typeof返回的类型不会包含const/volatile,或者存储类型static/extern。
例如:
const int a;
typeof(a) b; // int b
目前gcc支持此关键字,下面的程序可以很好地运行。
VS2013的VC++编译器还不支持此关键字。