在C语言中,关键字与保留字表示同一个概念,都是表示C语言提供的特殊标识符,不能用作变量名。
C语言一共有32个关键字(或称保留字),各关键字及其含义如下:
auto:指定变量的存储类型,是默认值
break:跳出循环或switch语句
case:定义switch中的case子句
char:定义字符型变量或指针
const:定义常量或参数
continue:在循环语句中,回到循环体的开始处重新执行循环
default:定义switch中的default子句
do:定义do-while语句
double:定义双精度浮点数变量
else:与if连用
enum:定义枚举类型
extern:声明外部变量或函数
float:定义浮点型变量或指针
for:定义for语句
goto:定义goto语句
if:定义if语句或if-else语句
int:定义整型变量或指针
long:定义长整型变量或指针
register:指定变量的存储类型是寄存器变量,Turbo c中用自动变量代替
return:从函数返回
short:定义短整型变量或指针
signed:定义有符号的整型变量或指针
sizeof:获取某种类型的变量或数据所占内存的大小,是运算符
static:指定变量的存储类型是静态变量,或指定函数是静态函数
struct:定义结构体类型
switch:定义switch语句
typedef:为数据类型定义别名
union:定义联合体类型
unsigned:定义无符号的整型变量或数据
void:定义空类型变量或空类型指针,或指定函数没有返回值
volatile:变量的值可能在程序的外部被改变
while:定义while或do-while语句
保留字一般是等同于关键字的。
1.保留字是语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。
而关键字则指在语言中有特定含义,成为语法中一部分的那些字。
2.在一些语言中,一些保留字可能并没有应用于当前的语法中,这就成了保留字与关键字的区 别。一般出现这种情况可能是由于考虑扩展性。例如,Javascript有一些未来保留字,如 abstract、double、goto等等。它可能未来要增加直接跳转的功能,那么为了使当前版本的 程序代码能向后兼容,所以不允许使用goto作为变量名,但当前版本的语言并不支持goto的 直接跳转功能,它目前就不是关键字。
关键字(key words)和保留字(reserved words)都是指C语言里规定不能在代码中用作标志符的字,二者的区别就在宏定义中,在宏定义中是可以使用关键字的,比如#define void int,这是可以的。
C语言中保留字包括关键字和特定字。
1)C语言关键字有32个,包括:auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union undesigned void volatile while
2)特定字主要用于编译预处理,从#开头,如include,define,undef, ifdef,ifndef,endif
c语言中的关键字和保留字含义是一样的,共有 32 个保留字或关键字,这些保留字或关键字是不能用来作为c程序中的标识符的