?
在程序中定义下划线,双下划线,及“str”,“is","to"均已为ansiC标准委员会所保留,如果自行定义就犯了错误。
另:你最好不要使用所有标准库中定义的标识符(变量名,宏,函数名……),如果你特别喜欢用的话,建议你在变量名的前面加上你的个性前缀(如NMD_,FUCK_等……,什么?我骂人?NO,清华大学的学生—伏明瞎都不知道,我哪会知道是什么意思)或另加后缀_DOG,_CS……。
以下是Richard Heathfield Lawrence Kirby等建议(客气)不要使用的标准标识符或前缀:
E[0-9]* E[A-Z]* is[a-z]*
LC[A-Z]* mem[a-z]* NDEBUG
Offsetof raise SIG[A-Z]*
str[a-z]* to[a-z]* wcs[a-z]*
_*
特别提一句,许多人喜欢定义下划形式标识符,很危险。
_MY_HEARD_H
_MY_ALLOC_H
_YOUR_MOTHER_PP_H