c语言标识符是如何组成的
这篇“c语言标识符是如何组成的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“c语言标识符是如何组成的”文章吧。
在c语言中,标识符由字母(A~Z和a~z)、数字(0~9)、下划线(_)组成,且第一个字符必须是字母或下划线,不能用其他任何字符或数字开头;标识符是区分大小写的,大写字母和小写字母被认为是不同的字符,且标识符不能是关键字。
c语言中的标识符由
在计算机高级语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符。
标识符可以简单认为是一个名字,用来标识变量名、常量名、函数名及数组等。
变量名a、b、c,符号常量名PI、Pai,函数名printf、scanf等都是标识符。
在C语言中,标识符可以自定义,但是需要遵循一定的规则。
C语言规定,标识符可以是字母、数字、下划线(A~Z, a~z, 0~9, _)组成的字符串,并且第一个字符必须是字母或下划线。
(1)标识符只能以英文大小写字母、和下划线(_)开头,而不能用其他任何字符或数字开头。
例如以下就是错误的例子:
int %a;//错误,标识符不能以符号开头int 8C[8];//错误,不能以数字开头
(2)标识符中只能包含英文大小写字母、下划线和阿拉伯数字,但是不能以阿拉伯数字开头。
int a8;//正确int _adf589S_5;//正确
(3)标识符区分大小写
在C语言中,大写字母和小写字母被认为是不同的字符,所以,ABC与abc表述的标识符是不一样的(Acd和acd、caDd和cadd、_8Fc9和_8fc9都是不相同的标识符)。
(4)标识符不能是关键字。
int float;//错误,float是关键字。int Float;//正确
(5)ANSI标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这是因为某些编译程序(如IBM PC的MS C)仅能识别前6个字符。
除了这些硬性规则外,标识符的命名最好具有具体的意义,以便于观察、阅读和维护。
//定义某长方体的长度、宽度和高度int a;//高度int b;//宽度int c;//高度
可以改成如下定义:
int c_Long;int c_Width;int c_Height;
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语言提供的关键字相同。
以上就是关于“c语言标识符是如何组成的”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341