当前位置:  开发笔记 > 编程语言 > 正文

(K&R)至少内部名称的前31个字符是重要的?

如何解决《(K&R)至少内部名称的前31个字符是重要的?》经验,为你挑选了2个好方法。

从字面上看,它是有道理的,但它究竟是什么意思成为变量名称的重要字符?

我是使用K&R开始学习C语言的人.这是本书的直接引用:

"至少内部名称的前31个字符是重要的.对于函数名称和外部变量,数字可能小于31,因为外部名称可能被汇编程序和加载程序使用,语言无法控制.对于外部名称,该标准仅保证6个字符和一个案例."

顺便说一句,"单一案例"是什么意思?



1> S.Lott..:

单个案例通常意味着"小写".除了某些操作系统,它意味着"大写".关键是混合的情况不能保证有效.

abcdef

ABCDEF

不同之处仅在于案例.这不保证有效.

"重要性"问题是多少个字母可以相同的问题之一.

假设我们只有6个重要字符.

a_very_long_name

a_very_long_name_thats_too_similar

看起来不一样,但前16个字符是相同的.由于只有6个是重要的,因此它们是相同的变量.


正确.只有个案不同的事情并不能保证工作.他们可能会工作,但这是一个意外.你不会很快就会使用汇编程序.您的加载程序是您的操作系统的一部分.大多数装载机处理很长的名称.当我是一名n00b程序员(在80年代)时,6个字符的东西在一些操作系统上很严重.对于标准操作系统(Linux,MacOS等),不用担心.对于Windows,几乎不用担心.

2> bobince..:

这意味着你担心它意味着什么.对于外部名称,K&R 2nd ed时的C标准.写的确实只给了六个不区分大小写的字符!所以你不能拥有afoobaraFooBaz作为独立的实体.

这种荒谬的限制(适用于现在已久的传统连接器)不再适用于任何环境.C99标准为外部名称提供了31个区分大小写的字符,在内部提供了63个字符,实际使用的连接符支持更长的名称.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有