一、标识符是什么
标识符是C程序的最基本组成部分,例如:变量名称、函数名称、数据类型等等,都是一个标识符。标识符的要求是:必须由字母(区分大小写)、数字、下划线组成。而且,标识符的第一个字符不可以是数字。例如:
abc --- 合法
_abc123 --- 合法
abc555 --- 合法
123abc --- 非法
abc$!! --- 非法
在C语言中,大写字母和小写字母被认为是不同的字符,所以,ABC与abc表述的标识符是不一样的。
二、语言关键字
我们学习了C语言提供的“基本数据类型”,例如char、int这样的数据类型,我们可以使用这个数据类型来定义一个变量,例如:
char c = 'A';
此时,定义了一个字符型变量,变量的名称是c。那么,我们就有一个疑问,是否可以定义一个变量,变量的名称是int ?测试的例子如下:
#include <stdio.h> //包含头文件, 为了使用printf()函数;
int main() //定义程序的主函数, 就是程序的入口地址;
{ //主函数的开始标记;
char int = 'A'; //定义一个char类型变量, 变量名称是int;
printf("int = %c\n", int);
return 0; //返回结束状态;
} //主函数的结束标记;
编译的结果如下:
mylinux@ubuntu:~/src/test$ gcc test.c -o exe
test.c: In function ‘main’:
test.c:4: error: two or more data types in declaration specifiers
test.c:4: error: expected identifier or ‘(’ before ‘=’ token
test.c:5: error: expected expression before ‘int’
可以看到,编译输出了异常,提示“two or more data types in declaration specifiers”,就是声明了太多的数据类型,可以看到,我们想定义一个变量,变量的名称是int,是异常的。
具体的错误原因是:C语言不允许定义变量的名称为C语言使用的关键字。
C语言定义的关键字有:
C语言提供了这些关键字来设计程序,那么,我们在定义变量名称的时候,就不能够与C语言提供的关键字相同。