该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C语言关键字
我们学习了C语言提供的“基本数据类型”,例如char、int这样的数据类型,我们可以使用这个数据类型来定义一个变量,例如:
char c = 'A';
此时,定义了一个字符型变量,变量的名称是c。那么,我们就有一个疑问,是否可以定义一个变量,变量的名称是int ?测试的例子如下:
#include //包含头文件,为了使用printf()函数;
int main() //定义程序的主函数,就是程序的入口地址;
{ //主函数的开始标记;
charint= 'A'; //定义一个char类型变量,变量名称是int;
printf("int = %c\n", int);
return0; //返回结束状态;
} //主函数的结束标记;
编译的结果如下:
mylinux@ubuntu:~/src/test$ gcc test.c -o exe
test.c: In function ‘main’:
test.c:4: error: two or more data types in declarationspecifiers
test.c:4: error: expected identifier or ‘(’ before ‘=’token
test.c:5: error: expected expression before ‘int’
可以看到,编译输出了异常,提示“two or more data types indeclaration 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 静态类型
aoto 自动类型
register 寄存器类型
main 主函数名
其他关键字 sizeof 计算类型容量
const 常类型
typedef 定义别名
volatile 取消编译器优化,不使用缓存
C语言提供了这些关键字来设计程序,那么,我们在定义变量名称的时候,就不能够与C语言提供的关键字相同。