从字面上看,它是有道理的,但它究竟是什么意思成为变量名称的重要字符?
我是使用K&R开始学习C语言的人.这是本书的直接引用:
"至少内部名称的前31个字符是重要的.对于函数名称和外部变量,数字可能小于31,因为外部名称可能被汇编程序和加载程序使用,语言无法控制.对于外部名称,该标准仅保证6个字符和一个案例."
顺便说一句,"单一案例"是什么意思?
我是一名读K&R的初级程序员,我觉得这本书假定了很多以前的知识.令我困惑的一个方面是内存中变量的实际表示,或者我应该说存在.数据类型到底为变量指定了什么?我不太确定如何说出这个问题......但我会问几个问题,也许有人可以为我提出一个连贯的答案.
当使用getchar()时,我被告知使用类型"int"比键入"char"更好,因为"int"可以容纳更多值而"char"只能容纳256个值.由于我们可能需要变量来保存EOF值,因此我们需要超过256个,否则EOF值将与256个字符中的一个重叠.在我看来,我认为这是一堆空洞的盒子.有人能给我一个更好的代表吗?这些"盒子"有索引号吗?当EOF与256个可用值中的值重叠时,我们可以预测它将与哪个值重叠吗?
另外,这是否意味着数据类型"char"只能在我们简单地手动为变量赋值时使用,例如char c ='a',当我们肯定知道我们只有256个可能的ASCII时字符?
另外,"char"和"int"之间的实际重要区别是什么?如果我们可以使用"int"类型而不是"char"类型,为什么我们决定在某些时候使用一个而不是另一个?是保存"记忆"(我使用引号,因为我实际上并不是"记忆"究竟如何工作).
最后,char类型的256个可用值究竟是如何获得的?我读了一些关于modulo 2 ^ n的内容,其中n = 8,但为什么这样做(与二进制有关?).什么是"modulo 2 ^ n"的模数部分(如果它与模运算有任何相关性,我看不到关系......)?