站长资讯网
最全最丰富的资讯网站

c语言标识符有哪些类型

c语言标识符有三类:1、关键字,是由C语言规定的具有特定意义的字符串,通常也称为保留字;2、预定义标识符,是系统预先定义的标识符,如函数库中的函数名、宏定义和类型别名;3、用户定义标识符,是用户根据需要自己定义的标识符,一般用来给变量、函数、数组等命名。用户标识符如果与关键字相同,则编译时会出错;如果与预定义标识符相同,编译时不会出错,但预定义标识符的原意失去了。

c语言标识符有哪些类型

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

本教程操作环境:windows7系统、c99版本、Dell G3电脑。

在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。标识符通常由字母和数字以及其它字符构成。

c语言标识符的类型

C语言标识符有关键字、用户标识符、预定义标识符三类。C语言规定,标识符只能由字母、数字和下划线组成,并且第一个字符必须是字母或下划线,不能是数字。

1、关键字(Keywords)

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字,例如 int、char、long、float、unsigned 等。我们定义的标识符不能与关键字相同,否则会出现错误。

你也可以将关键字理解为具有特殊含义的标识符,它们已经被系统使用,我们不能再使用了。

标准C语言中一共规定了32个关键字:

关键字 说明
auto 声明自动变量
short 声明短整型变量或函数
int 声明整型变量或函数
long 声明长整型变量或函数
float 声明浮点型变量或函数
double 声明双精度变量或函数
char 声明字符型变量或函数
struct 声明结构体变量或函数
union 声明共用数据类型
enum 声明枚举类型
typedef 用以给数据类型取别名
const 声明只读变量
unsigned 声明无符号类型变量或函数
signed 声明有符号类型变量或函数
extern 声明变量是在其他文件正声明
register 声明寄存器变量
static 声明静态变量
volatile 说明变量在程序执行中可被隐含地改变
void 声明函数无返回值或无参数,声明无类型指针
if 条件语句
else 条件语句否定分支(与 if 连用)
switch 用于开关语句
case 开关语句分支
for 一种循环语句
do 循环语句的循环体
while 循环语句的循环条件
goto 无条件跳转语句
continue 结束当前循环,开始下一轮循环
break 跳出当前循环
default 开关语句中的“其他”分支
sizeof 计算数据类型长度
return 子程序返回语句(可以带参数,也可不带参数)循环条件

2、预定义标识符

C语言中系统预先定义的标识符,如函数库中的函数名、宏定义和类型别名(typedef)。

预定义标识符具有见字明义的特点,如函数“格式输出”(英语全称加缩写:printf)、“格式输入”(英语全称加缩写:scanf)、sin、isalnum等等。

预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原意,使用不当还会使程序出错。

注:C语言函数库中的函数名可以成为用户定义的变量名!!!

3、用户定义标识符

用户根据需要自己定义的标识符。一般用来给变量、函数、数组等命名。用户标识符如果与关键字相同,则编译时会出错;如果与预定义标识符相同,编译时不会出错,但预定义标识符的原意失去了,或会导致结果出错,因此预定义标识符一般不用来作为用户标识符。

C语言规定,用户定义标识符可以是字母、数字、下划线(A~Z, a~z, 0~9, _)组成的字符串,并且第一个字符必须是字母或下划线。

(1)标识符只能以英文大小写字母、和下划线(_)开头,而不能用其他任何字符或数字开头。

例如以下就是错误的例子:

int %a;//错误,标识符不能以符号开头 int 8C[8];//错误,不能以数字开头
登录后复制

(2)标识符中只能包含英文大小写字母、下划线和阿拉伯数字,但是不能以阿拉伯数字开头

int a8;//正确 int _adf589S_5;//正确
登录后复制

(3)标识符区分大小写

在C语言中,大写字母和小写字母被认为是不同的字符,所以,ABC与abc表述的标识符是不一样的(Acd和acd、caDd和cadd、_8Fc9和_8fc9都是不相同的标识符)。

(4)标识符不能是关键字。

int float;//错误,float是关键字。 int Float;//正确
登录后复制

(5)ANSI标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这是因为某些编译程序(如IBM PC的MS C)仅能识别前6个字符。

除了这些硬性规则外,标识符的命名最好具有具体的意义,以便于观察、阅读和维护

//定义某长方体的长度、宽度和高度 int a;//高度 int b;//宽度 int c;//高度
登录后复制

可以改成如下定义:

int c_Long; int c_Width; int c_Height;
登录后复制

赞(0)
分享到: 更多 (0)