C语言标识符命名规则

您所在的位置:网站首页 c语言标识符命名规则是什么样的 C语言标识符命名规则

C语言标识符命名规则

2024-07-14 10:17| 来源: 网络整理| 查看: 265

预备知识:什么是内部标识符和外部标识符?

A N S I标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这里外部名指的是在链接过程中所涉及的标识符,其中包括文件间共享的函数名和全局变量名。因此外部名abcdefgh和abcdef将被当作同一个标识符处理。

A N S I标准还规定内部名必须至少能由前31个字符唯一地区分。内部名指的是仅出现于定义该标识符的文件中的那些标识符。C语言中的字母是有大小写区别的,因此count Count COUNT是三个不同的标识符。标识符不能和C语言的关键字相同,也不能和用户已编制的函数或C语言库函数同名。

1. 长度限制     C89 规定,编译器至少应该能够处理 31 个字符(包括 31)以内的内部标识符(Internal Identifier);而对于外部标识符(External Identifier),编译器至少应该能够处理 6 个字符(包括 6)以内的外部标识符。所谓标识符,是指我们为变量(Variable)、宏(Macro),或者函数(Function)等等取的名字。例如 Int Num; 这个语句中的 Num 就是一个标识符。     最新的 C99 标准规定,编译器至少应该能够处理 63 个字符(包括 63)以内的内部标识符;编译器至少应该能够处理 31 个字符(包括 31)以内的外部标识符。     事实上,我们可以使用超出最大数目限制的字符来命名标识符,不过编译器会忽略超出的那部分字符。也就是说,如果我们用 35 个字符来命名变量,而那个编译器最多只能处理 31 个字符的变量名的话,那么多出的那 4 个字符就会被编译器忽略,只有前面的 31 个字符有效。有些古老的编译器只能处理 8 个字符以内的标识符,对于这样的编译器来说,标识符 Kamehameha 和 Kamehameko 是等价的,因为它们前面 8 个字符相等。

2. 可用字符和组合规则     标准规定,标识符只能由大小写英文字母,下划线(_),以及阿拉伯数字组成。标识符的第一个字符必须是大小写英文字母或者下划线,而不能是数字。            合法命名   非法命名              Wiggles          $Z]**      /*   $、] 和 * 都是非法字符  */               Cat2            2cat      /*  不能以数字开头  */              Hot_Tub         Hot-Tub    /*  - 是非法字符  */              TaxRate        Tax Rate    /*  不能有空格  */              _kcab            Don''T     /*  '' 是非法字符  */ 操作系统和 C 语言标准库里的标识符一般以下划线开头,这是约定俗成的。因此,我们应该避免使用下划线作为我们自己定义的标识符的开头。     C 语言是大小写敏感的语言,也就是说,Star、Star、STar,StAr 和 STAR 等都是相互不同的标识符。     我们不能用关键字和保留标识符来给我们自定义的变量命名。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3