我们学习了C语言提供的“基本数据类型”,例如char、int这样的数据类型,我们可以使用这个数据类型来定义一个变量,例如:
char c = 'A';
此时,定义了一个字符型变量,变量的名称是c。那么,我们就有一个疑问,是否可以定义一个变量,变量的名称是int ?测试的例子如下:
编译的结果如下:
可以看到,编译输出了异常,提示“two or more data types in declaration specifiers”,就是声明了太多的数据类型,可以看到,我们想定义一个变量,变量的名称是int,是异常的。
具体的错误原因是:C语言不允许定义变量的名称为C语言使用的关键字。
C语言定义的关键字有:
类型
关键词
描述
数据类型关键字
char
字符类型
short
短整数类型
int
整数类型
long
长整数类型
float
单精度浮点数类型
double
双精度浮点数类型
signed
有符号类型
unsigned
无符号类型
enum
枚举类型
struct
结构体类型
union
共用体类型
void
空类型
控制语句关键字
if
条件判断语句
else
条件判断语句
for
循环语句
do
循环语句
while
循环语句
switch
选择分支语句
break
结束循环
continue
跳过当前循环
case
选择分支语句
default
默认分支语句
goto
无条件跳转语句
return
返回语句
存储类型关键字
extern
对外声明引用
static
静态类型
auto
自动类型
register
寄存器类型
main
主函数名
其他关键字
sizeof
计算类型容量
const
常类型
typedef
定义别名
volatile
取消编译器优化,不使用缓存
C语言提供了这些关键字来设计程序,那么,我们在定义变量名称的时候,就不能够与C语言提供的关键字相同。