-4
我知道typedef被用作别名。但是如果我在这种形式中使用typedef,无论编译器是抛出错误还是类型被重新定义为char或者仍然与int相同,但只是char作为其同义词?这可能吗? typedef int char?
我知道typedef被用作别名。但是如果我在这种形式中使用typedef,无论编译器是抛出错误还是类型被重新定义为char或者仍然与int相同,但只是char作为其同义词?这可能吗? typedef int char?
您不能重新定义内置类型,也不能使用关键字作为typedef
的名称。
您无法重新定义内置类型。编译器会抱怨语句的语法。这里是你的一个说明性的例子,如果你没有自己尝试一下:
的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
发生了什么当你尝试过吗? :) – 2013-03-08 02:32:36
呃...让我为你编译... – Clifford 2013-03-08 09:43:03