c语言关键字
1 基本数据类型5个
void
声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果。
char
字符型类型数据,属于整型数据的一种。
int
整型数据,通常为编译器指定的机器字长。
float
单精度浮点型数据,属于浮点数据的一种。
double
双精度浮点型数据,属于浮点数据的一种。
2 类型修饰关键字4个
short
修饰int,短整型数据,可省略被修饰的int。
long
修饰int,长整型数据,可省略被修饰的int。
signed
修饰整型数据,有符号数据类型。
unsigned
修饰整型数据,无符号数据类型。
3 复杂类型关键字5个
struct
结构体声明。
union
共用体声明
enum
枚举声明
typedef
声明类型别名
sizeof
得到特定类型或特定类型变量的大小
4 存储级别关键字6个
auto
指定为自动变量,由编译器自动分配及释放。通常在栈上分配。
static
指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部。
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。
先来介绍它的第一条也是最重要的一条:影藏。
当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。
register
指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数。
extern
指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。
const
const与volatile合称“cv特性”,指定变量不可不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)。
const是一个C语言的关键字,具有举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的代码也有一定帮助。
volatile
const与volatile合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值。
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。
需要注意的是,没有volatile也可能能正常运行,但是可能修改了编译器的优化级别之后就不能正常运行了。因此经常会出现debug版本正常,但是release版本却不能正常的问题。所以为了安全起见,只要是等待别的程序修改某个变量的时候,就加上volatile关键字。
5 跳转结构4个
return
用在函数体中,返回特定值(或者是void值,即不返回值)。
continue
结束当前循环,开始下一轮循环。
break
跳出当前循环或switch结构。
goto
无条件跳转语句。
6 分支结构5个
if
条件语句,后面不需要放分号。
else
条件语句否定分支(与if连用)。
switch
开关语句(多重分支语句)。
case
开关语句的分支标记。
default
开关语句中的“其他”分支,可选。
7 循环结构3个
for
for循环结构。
do
do循环结构。
while
while循环结构。