C语言合法标识符有哪些

Python013

C语言合法标识符有哪些,第1张

我们首先要知道标识符字母下划线、数字这三个方面组成。

同时标识符标示符分为预定义标示符和用户标示符

预定义标示符是系统定的,如printf,scanf。

用户标示符是用户自己定的,以下划线或字母开头,由下划线,字母,数字组成。

只要没有错误都可视为合法标识符,由于用户标识符可以自己设定并且自由变换会有很多种,所以就在这列举一些合法的预定义的标识符。

auto break case char const continue

default do double else enum extern

float for goto if inline int long register restrict return short signed

sizeof static struct switch typedef union

unsigned void volatile while

_Imaginary_Generic

特别注意的是,关键字不能是标识符,如main等

那你首先得知道什么是标识符

和其他高级语言一样,在C语言中用来表示对变量,符号常量,函数,数组,类型等数据对象命名的有效字符序列统称为标识符.简单地说,标识符就是一个名字.

在C语言中,规定标识符只能由 字母 , 数字 , 下划线组成, 且第一个字符必须为字母或下划线.

合法的标识符如下:

sum,average,_total,Class,day,month,Student,Student_name,tan,louts_1_2_3,BASIC,li_ling等

非法的标识符如下:

M.D.John,#123,3D45,a>b等

补充:

(1).标识符只能由字母、数字和下划线三类字符组成

(2).第一个字符必须是字母(第一个字符也可以是下划线,但被视作系统自定义的标识符)

(3).大写字母和小写字母被认为是两个不同的字符,如A和a是两个不同的标识符

(4).标识符可以任意长,但只有前32位有效。有些旧的C版本对外部标识符的限制为6位。这是由于链接程序的限制所总成的,而不是C语言本身的局限性

(5).标识符不能是C的关键字

这句话错在“其他任意字符”几个字。

C语言的标识符不能使用诸如+-*/等大多数有特殊含义的字符。比如+,如果定义a+b是一个变量的变量名,那么,a+b+c到底是三个变量相加,还是两个变量相加?出现无法明确解释的现象。这就是原因。

因此,c语言的标识符规定只能由字母(大写A~Z、小写a~z)、数字(0~9)、下划线(_)构成,而且必须以字母或下划线开头。