C语言中关键字和标示符什么区别

为什么auto不能当标示符。请尽量解释的易懂。
是不是关键字已经被定义了意思,不能再被定义了??

关键字是标识符的一种.
标识符是指: 可以当作变量名, 函数名等的.
而关键字为什么不能当作变量名或函数名?
因为关键字它有自己的用处, 比如int, 它是用来定义变量等的, 如果它用来当作变量名, 就会造成混淆.
如:
int int = 10;
int i = (int+10);
这样就会造成混淆, 因为(type)是强制类型转换, 但是这里的意思是要把int的值加上10, 然后再赋给i. 编译器不知道这到底是干什么的, 肯定会出错.

标识符是无数个(其实不是无数的, 但它非常多, 好像说C语言支持最长的标识符是32个)
但是关键字只有32个.追问

懂了太感谢了,再问下For是标识符而for是关键字对吗

追答

对, 应该是所有语言都区分大小写的.

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-10
标准C语言共有32个关键字,9种控制语句。
在使用时,不能使用这些关键字作为标识符(标识符是指变量、函数等的名称)
C语言的关键字及其含义列举如下:
auto :声明自动变量
break:跳出当前循环
case:开关语句分支
char :声明字符型变量或函数返回值类型
const :声明只读变量
continue:结束当前循环,开始下一轮循环
default:开关语句中的“其它”分支
do :循环语句的循环体
double :声明双精度浮点型变量或函数返回值类型
else :条件语句否定分支(与 if 连用)
enum :声明枚举类型
extern:声明变量或函数是在其它文件或本文件的其他位置定义
float:声明浮点型变量或函数返回值类型
for:一种循环语句
goto:无条件跳转语句
if:条件语句
int: 声明整型变量或函数
long :声明长整型变量或函数返回值类型
register:声明寄存器变量
return :子程序返回语句(可以带参数,也可不带参数)
short :声明短整型变量或函数
signed:声明有符号类型变量或函数
sizeof:计算数据类型或变量长度(即所占字节数)
static :声明静态变量
struct:声明结构体类型
switch :用于开关语句
typedef:用以给数据类型取别名
unsigned:声明无符号类型变量或函数
union:声明共用体类型
void :声明函数无返回值或无参数,声明无类型指针
volatile:说明变量在程序执行中可被隐含地改变
while :循环语句的循环条件
相似回答