C语言标识符

5.5 标识符

       标识符是C程序的最基本组成部分,例如:变量名称、函数名称、数据类型等等,都是一个标识符。标识符的要求是:必须由字母(区分大小写)、数字、下划线组成。而且,标识符的第一个字符不可以是数字。例如:

abc                ---   合法

_abc123        ---   合法

abc555          ---   合法

123abc          ---   非法

abc$!!           ---   非法

       在C语言中,大写字母和小写字母被认为是不同的字符,所以,ABC与abc表述的标识符是不一样的。

 

5.6 语言关键字

       我们学习了C语言提供的“基本数据类型”,例如char、int这样的数据类型,我们可以使用这个数据类型来定义一个变量,例如:

char c = 'A';

       此时,定义了一个字符型变量,变量的名称是c。那么,我们就有一个疑问,是否可以定义一个变量,变量的名称是int ?测试的例子如下:

#include                    //包含头文件, 为了使用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语言定义的关键字有:

类型

关键词

描述

数据类型关键字

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语言提供的关键字相同。

更多的交流可以加QQ:1523520001,微信:13926572996,备注:linux编程;
学习、分享更多的linux C/C++ 编程知识。

你可能感兴趣的:(linux,C,编程)