C语言中的关键字与标识符详解
2024-01-08 15:09:23
1. 关键字(keyword)
定义:
关键字是C语言中预定义的一组特殊字符串,它们具有特定的含义和用途。在程序编译过程中,编译器会根据这些关键字执行相应的操作。
特点:
所有C语言的关键字均采用小写字母形式。
举例:
例如,在一个简单的"HelloWorld"案例中,我们可能会遇到int
和return
等关键字。int
用于声明整型变量,而return
用于从函数返回值。
C语言传统关键字(ANSI C):
- 控制语句关键字包括
break
,case
,continue
,default
,do
,else
,for
,goto
,if
,return
,switch
,while
。 - 数据类型关键字有
char
,enum
,double
,long
,float
,int
,short
,signed
,struct
,unsigned
,union
,void
。 - 存储类型关键字包括
auto
,extern
,register
,static
。 - 其他关键字包括
const
,sizeof
,typedef
,volatile
。
随着标准的发展,C99增加了5个关键字:inline
, restrict
, _Bool
, _Complex
, _Imaginary
;C11又新增了7个关键字:_Alignas
, _Alignof
, _Atomic
, _Static_assert
, _Noreturn
, _Thread_local
和 _Generic
。
说明:
- ANSI C、C99和C11标准在大多数情况下可以兼容使用,无需过分关注版本差异。
- 对于关键字的学习,建议结合实践逐步掌握,不必刻意死记硬背。
2. 标识符(Identifier)
定义:
在C语言中,标识符是指用户为变量、函数、数组名、结构体等编程要素所起的名字,它由一系列字符组成。
命名规则:
- 标识符只能包含字母(大小写均可)、数字(但不能作为首字符)以及下划线。
- 不得与C语言的关键字相同,尽管标识符内可包含关键字。
- C99和C11允许更长的标识符,但编译器只识别前63个字符,超出部分会被忽略。
- 标识符不允许包含空格。
- C语言严格区分大小写,因此相同的单词但大小写不同会被视为不同的标识符。
命名建议:
- 命名时应力求有意义,做到“见名知意”,如
sum
、name
、max
、year
、total
等。 - 避免仅通过大小写来区分不同的标识符,以免混淆。
- 尽量避免在标识符中使用数字编号,除非逻辑上确实需要编号。
- 按照约定,常量(如宏定义、枚举常数、只读变量)通常用全大写字母命名,并使用下划线分隔单词,如
TAX_RATE
。 - 为了防止与系统内部使用的标识符冲突,建议避免使用以下划线开头的标识符,特别是双下划线或单下划线加大写字母开头的名称。
- 下划线通常用于连接较长的变量名,提高可读性,如
max_classes_per_student
。 - 在多单词组成的变量名和函数名中,推荐采用驼峰命名法(小驼峰),即第一个单词首字母小写,后续每个单词首字母大写,如
stuAge
、tankShotGame
。
合法与非法标识符示例:
// 合法的标识符
a, BOOK1, _sun, MAX_SIZE, Mouse, student23, Football, FOOTBALL, max, _add, num_1, sum_of_numbers
// 非法的标识符
$zj, 3sum, ab#cd, 23student, Foot-baii, s.com, b&c, j**p, book-1, tax rate, don't
文章来源:https://blog.csdn.net/qq_29752857/article/details/135421382
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!