auto 为什么不能做标识符?
auto在C语言中没有实际意义,
因为auto已经是C的关键字,
所谓关键字就是已被Turbo C2.0本身使用, 不能作其它用途使用的字。例如关键字不能用作变量名、函数名等。
Turbo C2.0有以下关键字:
Turbo C2.0扩展的共11个
asm _cs _ds _es _ss cdecl
far near huge interrupt pascal
由ANSI标准定义的共32个
auto double int struct break else
long switch case enum register typedef
char extern return union const float
short unsigned continue for signed void
default goto sizeof volatile do if
while static
关键字是标识符的一种.
标识符是指: 可以当作变量名, 函数名等的.
而关键字为什么不能当作变量名或函数名?
因为关键字它有自己的用处, 比如int, 它是用来定义变量等的, 如果它用来当作变量名, 就会造成混淆.
如:
int int = 10;
int i = (int+10);
这样就会造成混淆, 因为(type)是强制类型转换, 但是这里的意思是要把int的值加上10, 然后再赋给i. 编译器不知道这到底是干什么的, 肯定会出错.
标识符是无数个(其实不是无数的, 但它非常多, 好像说C语言支持最长的标识符是32个)
但是关键字只有32个.