C语言32个关键字r
关键字就是已被C语言本身使用,不能作其它用途使用的字。r
例如关键字不能用作变量名、函数名等r
由ANSI标准定义的C语言关键字共32个:r
autodoublei
tstructbreakelselo
gswitchr
casee
umregistertypedefcharexter
retur
u
io
r
co
stfloatshortu
sig
edco
ti
ueforsig
edvoidr
defaultgotosizeofvolatiledoifwhilestaticr
根据关键字的作用,可以将关键字分为数据类型关键字和流r
控制关键字两大类。r
1数据类型关键字r
A基本数据类型(5个)r
void:声明函数无返回值或无参数,声明无类型指针,显式r
丢弃运算结果r
char:字符型类型数据,属于整型数据的一种r
i
t:整型数据,通常为编译器指定的机器字长r
float:t单精度浮点型数据,属于浮点数据的一种r
doublet双精度浮点型数据,属于浮点数据的一种r
r
B类型修饰关键字(4个)r
short:t修饰i
t,短整型数据,可省略被修饰的i
t。r
lo
g:t修饰i
t,长整形数据,可省略被修饰的i
t。r
sig
ed:t修饰整型数据,有符号数据类型r
u
sig
ed:t修饰整型数据,无符号数据类型r
r
C复杂类型关键字(5个)r
struct:t结构体声明r
u
io
:t共用体声明r
e
um:t枚举声明r
typedef:t声明类型别名r
sizeof:t得到特定类型或特定类型变量的大小r
r
D存储级别关键字(6个)r
auto:t指定为自动变量,由编译器自动分配及释放。r
通常在栈上分配r
static:t指定为静态变量,分配在静态变量区,修饰函r
数时,指定函数作用域为文件内部r
register:t指定为寄存器变量,建议编译器将变量存储r
到寄存器中使用,也可以修饰函数形参,建议编译器通r
过寄存器而不是堆栈传递参数r
exter
:t指定对应变量为外部变量,即标示变量或者r
函数的定义在别的文件中,提示编译器遇到此变量和函r
数时在其他模块中寻找其定义。r
co
st:t与volatile合称“cv特性”,指定变量不可被r
当前线程进程改变(但有可能被系统或其他线程进程改变)r
volatile:t与co
st合称“cv特性”,指定变量的值有r
可能会被系统或其他进程线程改变,强制编译器每次r
从内存中取得该变量的值r
r
2流程控制关键字r
At跳转结构(4个)r
retur
:tt用在函数体中,返回特定值(或者是void值,即不返回值)r
co
ti
ue:t结束当前循环,开始下一轮循环r
break:tt跳出当前循环或switch结构r
goto:tt无条件跳转语句r
r
B分支结构(5个)r
if:t条件语句,后面不需要放分号r
else:t条件语句否定分支(与if连用)r
switch:t开关语句(多重分支语句)r
case:t开关语句中的分支标记r
default:t开关语句中的“其他”分支,可选。r
r
Cr