有的。
比如说C语言标准规定编译器至少支持宏的名字有63个字符(多的话意义不能保证),至少支持同时定义4095个宏,函数形的宏最多可能有127个参数。
然而,要看在程序中怎么用这个定义了。
比如:
#define AAA ‘a’
#define BBB 1024
char a=AAA,b=BBB;
由于AAA的定义与a的相匹配,实现正确赋值,而BBB与b不匹配,即使定义了超出b能表示的范围的数据也不能正确赋值。
所以要根据程序中的使用来决定#define的数据如何定义、定义取值的范围。
没有回复内容