这可能吗?? typedef int char?

时间:2013-03-08 02:31:21

标签: c embedded

我知道typedef用作别名。但是如果我在这种形式下使用typedef是否编译器抛出错误或者类型被重新定义为char,或者它仍然与int保持相同但只是char作为它的同义词??

2 个答案:

答案 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的名称。