C语言关键字
-
auto:声明自动变量,缺省时编译器一般默认为auto;最宽宏大量的关键字
-
int:声明整型变量
-
double:声明双精度变量
-
long:声明长整型变量
-
char:声明字符变量
单纯的char类型应该用于字符值的存储使用,唯一允许的操作就是赋值和相同运算符(=,==,!=),signed char和unsigned char型变量只能用于数值的存储与使用。
signed char 范围:-128 ~ 127
unsigned char 范围: 0 ~ 255
-
float:声明浮点型变量
-
short:声明短整形变量
不同类型之间的运算要注意精度扩展问题,一般低精度数据要向高精度数据扩展。
-
signed:声明有符号类型变量
-
unsigned:声明无符号类型变量
-
struct:声明结构体变量;结构体所占内存大小是其成员所占内存之和。
-
union:声明联合数据类型变量;维护足够的空间来放置多个数据成员的“一种”,而不是为每一个数据成员配置空间,所有的数据成员具有相同的起始地址。一个union只配置一个足够大的空间来容纳最大长度的数据成员。
-
enum:声明枚举类型变量;enum变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始依次加1,如果都没有赋值,他们的值从0开始依次递增1.
-
static:声明静态变量;
-
switch:用于开关变量
-
case:用于语句分支
注意:case 后面只能是整型或字符型常量表达式。
- default:开关语句中的其他分支
注意:每个case语句的结尾绝对不要忘记加break,否则将导致多个分支重叠;最后必须使用default分支,即使程序不需要default处理;switch语句中禁止使用return 语句。
-
break:跳出当前循环;表示终止本层循环
-
continue:结束当前循环,开始下一轮循环。
-
register:声明寄存器变量;最快的关键字
register变量必须是能够被CPU寄存器所接受的类型,也就意味着register变量必须是一个单个的值,并且长度一个小于或者等于整型长度,而且不能用&来获取register变量的地址,因为此变量可能不存放在内存中。
- volatile:说明变量在出现执行中可被隐含地改变 ;最易变的关键字
volatile 是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统,硬件或者其他线程等。
-
typedef:用以给数据类型取名
-
extern:声明变量是在其他文件中声明;最会带帽子的关键字
-
return:子程序返回语句,用来终止一个函数并返回后面跟着的值
注意:return 语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结束时被自动销毁。
- void:声明函数无返回值或者无参数,声明空类型指针
作用:对函数返回值的限定,对函数参数的限定。众所周知,如果指针p1和p2的类型相同,我们可以直接在p1和p2之间互相赋值;如果p1和p2指向不同类型的数据 ,则必须进行强制类型转换运算符,**把赋值运算符右边指针的类型转换为左边指针的类型。**而void *则不同,任何类型的指针都可以直接复制给它,无需进行强制类型转换。
-
do:循环语句的循环体
-
while:循环语句的循环条件
-
for:一种循环语句
1).while 循环:先判断while 后面括号里面的值,如果为真则执行其后面的代码,否则不执行。while(1) 表示死循环,要注意它的使用。
2). do -while循环:先执行do后面的代码,然后判断while后面括号里的值,如果为真,循环开始,否则,循环不开始。
3).for循环:可以很容易控制循环次数,多用于事先知道循环次数的情况下。
-
if:条件语句
-
else:条件语句否定分支
-
goto:无条件跳转语句
goto语句可能跳过了变量的初始化,重要的计算等语句,因此提倡禁用goto语句。
- sizeof:计算对象所占内存空间大小;最冤枉的关键字。