我知道typedef用作别名。但是如果我在这种形式下使用typedef是否编译器抛出错误或者类型被重新定义为char,或者它仍然与int保持相同但只是char作为它的同义词??
答案 0 :(得分:2)
您无法重新定义内置类型。编译器会抱怨语句的语法。如果你没有亲自尝试,这里有一个说明性的例子:
main.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
答案 1 :(得分:1)
您无法重新定义内置类型,也无法使用关键字作为typedef
的名称。