按照ASCI C标准:
1、C实现必须能够区分标识符名称的前6个字符;
2、不区分标识符的大小写
但是,我们在实际使用的过程中会发现,在很多环境下,是区分标识符大小写的,标识符长度也没有明确区分,这是由于具体的实现不同导致的。
某些C语言实现会把标识符的所有字符都当做有效字符,而也有一些C语言实现会把标识符的尾巴截断。
所以,如果有这样的Malloc,malloc,或者print_int,print_char标识符命名,在考虑到移植问题的时候,就容易出现问题。
对于Malloc,malloc,可能由于平台的不区分大小写而造成它们是等价的;
对于print_int,print_char,可能会由于不同C语言实现中有效字符的长度定义差别而导致它们是等价的。