首页 > 《C程序设计语言》第2章中有一句话始终读不懂

《C程序设计语言》第2章中有一句话始终读不懂

英文书名:The C Programming Language

对于内部名而言,至少前31个字符是有效的。函数名与外部变量名包含的字符数目可能小于31,这是因为汇编程序和加载程序可能会使用这些外部名,而语言本身是无法控制加载和汇编程序的。对于外部名,ANSI标准仅保证前6个字符的惟一性,并且不区分大小写。

反复检查,没有抄错。

希望能向我解释解释这段话,我的理解是这样(明显不对):

#include <stdio.h>

int abcdefgh; // 长度8
int abcdef; // 长度6

/*
 * 正常编译...
 */
main()
{
    abcdefgh = 1;
    abcdef = 2;
}

应该是,标准只要求保证前6个字符唯一吧
很多编译器能做的比标准要求的更多


StackOverflow 这里有和你一样的问题,以及答案。英文的引文里没有提到「ANSI」。

【热门文章】
【热门文章】