以下是个人见解,如有错误还望指出
关键字是一类特殊的标识符。
先来看一下标识符
1.标识符的命名规则:由字母数字下划线组成,并且第一个字符必须是字母和下划线,不能是数字。
2.标识符的分类:标识符分为三类
a.关键字
是c语言规定的、赋予特定含义和有专门用途的标识符。
b.预定义标识符
c语言中提供了大量的头文件和库函数,这些头文件和库函数中定义的一些标 识符统称为预定义标识符。
c.用户标识符
由用户根据需要定义的标识符成为用户标识符。一般用来给变量、函数、数 组和文件等命名。
再来看一下关键字
1.关键字的定义:被c语言本身使用,不能作其他用途的字。所以关键字不能用作变量名、函数名。由ANSI标准定义的C语言关键字共32个。
2.关键字的分类:根据关键字分为数据类型关键字和流程控制关键字两大类。
接着我们来总体的区分一下这两者的关系:我的理解是关键字属于一种特殊的标识符,即用户不能更改的一类标识符,关键字分为两类,数据类型标识符和流程控制标识符。像我们经常看到的int float char等都是属于数据类型标识符,即属于关键字,需要补充的变量(还有函数名)也属于一种标识符(用户标识符)。
让我们再来看结合一小段代码来更好地明确一下这两者的区别
#include<stdio.h> //include指令是一个预处理指令,既不是标识符也不是关键字
int Add(int x, int y) //Add是用户标识符
{
return x + y; //return是关键字
}
int main() //int是关键字,main一般被看作是预定义标识符
{
int a = 0, b = 0;
scanf("%d %d", &a, &b); //scanf是库函数,是预定义标识符
int sum = Add(a, b); //sum是变量名,属于用户标识符
printf("%d\n", sum); //printf是库函数,属于预定义标识符
return 0;
}
如有错误还望多多指点