在看到c语言深度解刨这本书时看到看到关键字这部分发现自己学了这么长时间对c语言关键字也不能全部讲出来,因此我便将c语言32个关键字做个小总结帮助大家记忆。
c语言关键字有两类:一类是数据类型关键字;另一类是流程控制关键字
一. 数字类型关键字
A.基本数据类型(5个)
- void
- char
- int
- filoat
- double
B.类型修饰关键字(4个)
- short
- long
- signed
- unsigned
C.复杂类型关键字(5个)
- struct
- enum
- union
- typedef
- sizeof
D.存储级别关键字(6个)
- auto
- static
- register
- extern
- const
- volatile
二.流程控制关键字
A.循环结构(3个)
- for
- do
- while
B.跳转结构(4个)
- return
- continue
- break
- goto
C.分支结构(5个)
- if
- else
- swich
- case
- default
上述可将32个关键字可总结为:
5 4 5 6 3 4 5
这里有个关键字比较特殊,那就是sizeof,因为在使用时的方式总是在后面加(),和函数调用的方式相同,误导很多初学者以为它是一个函数,其实它是一个披着函数外衣的关键字。
c语言深度解剖中举的列子很好的解释了这一点:
int main()
{
int i = 0;
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(i));
printf("%d\n", sizeof i);
//printf("%d\n", sizeof int);//出现语法错误,提示类型
return 0;
}
运行结果:
由运行结果可知,sizeof后面不写()竟然也可以,但是函数没()呢?可以吗?那么问题来了,sizeof int 为什么会报错呢?读者都知道int可以用long ,const,unsignd等关键字修饰,sizeof是不能修饰int的,编译器肯定就报错了。