一、C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。

 

1 数据类型关键字(12个):

(1) char :声明字符型变量或函数 
(2) double :声明双精度变量或函数 
(3) enum :声明枚举类型 
(4) float:声明浮点型变量或函数 
(5) int: 声明整型变量或函数 
(6) long :声明长整型变量或函数 
(7) short :声明短整型变量或函数 
(8) signed:声明有符号类型变量或函数 
(9) struct:声明结构体变量或函数 
(10) union:声明共用体(联合)数据类型 
(11) unsigned:声明无符号类型变量或函数 
(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

enum是计算机编程语言中的一种数据类型。

枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。

 

1. 枚举类型定义的一般形式为:

enum 枚举名{ 枚举值表 };  -----------enum

enum weekday{sun,mon,tue,wed,thu,fri,sat};

enum weekday a,b,c;

//或者为:

enum weekday{sun,mon,tue,wed,thu,fri,sat}a,b,c;

//或者为:

enum{sun,mon,tue,wed,thu,fri,sat}a,b,c;


union共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。

共用体是一种特殊形式的变量,使用关键字union来定义

共用体声明和共用体变量定义与结构体十分相似。其形式为:

union 共用体名{

数据类型 成员名;

数据类型 成员名;

...

} 变量名;

 

3 存储类型关键字(4个)

(1)auto :声明自动变量 一般不使用 
(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) 
(3)register:声明积存器变量 
(4)static :声明静态变量


4 其它关键字(4个):

(1)const :声明只读变量 
(2)sizeof:计算数据类型长度 
(3)typedef:用以给数据类型取别名(当然还有其他作用 
(4)volatile:说明变量在程序执行中可被隐含地改变



-----------------------------------------

const

用GNU的gcc和g++编译器,是会出现警告的,按照顺序,‘const pstr'被解释为‘char* const‘(一个指向char的指针常量),而事实上,const char*和char* const表达的并非同一意思.

char * const cp : 定义一个指向字符的指针常数,即const指针,常指针。

const char* p : 定义一个指向字符常数的指针,即常量指针。

char const* p : 等同于const char* p。

为了得到正确的类型,应当如下声明:

typedef const char* pstr;

-----------------------------------------

Typedef:在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。

它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。

typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。-----typedef

这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。

在编程中使用typedef目的一般有两个,

一个是给变量一个易记且意义明确的新名字,

另一个是简化一些比较复杂的类型声明。

-----------------------------------------