C语言中一共有32个关键字:
auto double int struct break
else long switch case enum
register typedef char extern return
union const float short unsigned
continue for signed void default
goto sizeof volatile do if
while static
1.数据类型的关键字(5个)
void char int float double
2.类型修饰关键字(4个)
short long signed unsigned
3.复杂关键字(5个)
struct 结构体声明
union 共用体声明
enum 枚举声明
typedef 声明类型别名
sizeof 得到特定类型或特定类型变量的大小
4.存储级别关键字(6个)
auto 指定为自动变量,由编译器自动分配及释放,通常在栈上分配
static 指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
register 指定为寄存器变量,建议编译器将变量存储到寄存器里使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
extern 指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义
const 与volatile合称 "cv特性" ,指定变量不可被当前线程、进程改变(但有可能被其他系统或其他线程/进程改变)
volatile 与const 合称"cv特性" 指定变量的值有可能会被系统或其他进程/线程改变,强制编辑器每次从内存中取得该变量的值
5.流程控制关键字(12个)
1): 跳转结构(4个)
return
continue
break
goto :无条件跳转语句
2):分支结构(5个)
if
else
switch
case
default
3):循环结构(3个)
for
do
while
typedef关键字:
C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取"别名" typedef定义的一般形式为: typedef 原类型名 新类型名; typedef的使用 1)基本数据类型 typedef int MALATANG; 2)用在数组 typedef int ARRAY[5];//int a[5]; ARRAY a1,b1;//int a1[5],b1[5]; 3)给结构体起别名 struct Person{ char *name; int age; } typedef struct Person P; P p1={"zhangsan",18}; 第二种方式: typedef struct Car{ int lunzi; int speed; }MYCAR; //表示把结构体起个别名 MYCAR //给匿名的结构体起个别名 typedef struct{ int screenSize; int ram; }IPHONE; 4)给枚举类型起别名 typedef enum Sex{kSexMan,kSexWomen}ISEX; 5)给函数指针 int (*p)(int ,int);//函数指针 别名: typedef int (*FUN)(int ,int); //FUN是别名而不是函数指针 FUN f1,f2;