C语言变量名的长度规定
2016-04-07 15:03
218 查看
A N S I标准规定,标识符可以为任意长度,但外部名必须至少能由前6个字符唯一地区分,并且不区分大小写。这里外部名指的是在链接过程中所涉及的标识符,其中包括文件间共享的函数名和全局变量名。
A N S I标准还规定内部名必须至少能由前3 1个字符唯一地区分。内部名指的是仅出现于定义该标识符的文件中的那些标识符。C语言中的字母是有大小写区别的,因此count Count COUNT是三个不同的标识符。标识符不能和C语言的关键字相同,也不能和用户已编制的函数或C语言库函数同名。
(参考资料《你必有知道的495个C语言问题》)
为什么 ANSI 标准规定了外部标示符的长度和大小写限制?
问题在于连接器既不受 ANSI/ISO 标准的控制也不遵守 C 编译器开发者的规定。限制仅限于标识符开始的几个字符而不是整个标识符。在原来的 ANSI 标准中限制为 6 个字符, 但在 C99 中放宽到了 31 个字符。-
SIG_DFL,SIG_IGN 分别表示无返回值的函数指针,指针值分别是0和1,这两个指针值逻辑上讲是实际程序中不可能出现的函数地址值。
SIG_DFL:默认信号处理程序
SIG_IGN:忽略信号的处理程序
A N S I标准还规定内部名必须至少能由前3 1个字符唯一地区分。内部名指的是仅出现于定义该标识符的文件中的那些标识符。C语言中的字母是有大小写区别的,因此count Count COUNT是三个不同的标识符。标识符不能和C语言的关键字相同,也不能和用户已编制的函数或C语言库函数同名。
(参考资料《你必有知道的495个C语言问题》)
为什么 ANSI 标准规定了外部标示符的长度和大小写限制?
问题在于连接器既不受 ANSI/ISO 标准的控制也不遵守 C 编译器开发者的规定。限制仅限于标识符开始的几个字符而不是整个标识符。在原来的 ANSI 标准中限制为 6 个字符, 但在 C99 中放宽到了 31 个字符。-
SIG_DFL,SIG_IGN 分别表示无返回值的函数指针,指针值分别是0和1,这两个指针值逻辑上讲是实际程序中不可能出现的函数地址值。
SIG_DFL:默认信号处理程序
SIG_IGN:忽略信号的处理程序
相关文章推荐
- 用C++设计一个不能被继承的类
- vc++ windows 快速启动栏创建快捷方式
- C++面向对象编程分享07----20160407_李楚煌
- C++实现——大数阶乘
- CSP考试 2015年09月第4题 C语言实现
- c++ program book
- 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 Q18-20 C++实现
- vc++ windows 开始菜单添加快捷方式
- C++ 堆排序算法实现
- C++ 中指针与引用的区别
- c++ 括号匹配
- vc++ windows 创建桌面快捷方式
- c++(重载、覆盖、隐藏)
- C++实现顺序存储的线性表
- C++ 归并排序算法实现
- C++字符串几个操作
- Cppslqite的使用
- C++ 快速排序实现
- c++简单的ATL COM开发和调用实例
- VC++ windows开机自启动设置