我知道 typedef 用作别名。但是如果我以这种形式使用 typedef 编译器是否会抛出错误或类型被重新定义为 char 或者它仍然与 int 相同但只是 char 作为它的同义词?
问问题
972 次
2 回答
2
您不能重新定义内置类型。编译器会抱怨语句的语法。如果您没有自己尝试,这里有一个说明性示例:
主.c:
typedef int char;
int main() {
return 0;
}
gcc 输出,当您尝试编译时:
main.c:1: error: two or more data types in declaration specifiers
main.c:1: warning: useless type name in empty declaration
于 2013-03-08T02:47:56.620 回答
1
您不能重新定义内置类型,也不能使用关键字作为typedef
.
于 2013-03-08T02:41:24.067 回答