本帖最后由 兰闻天 于 2014-4-29 17:32 编辑
首先 未带参的宏定义的是基本上是常量,#define COUNT 4意思是在书写的时候把4用COUNT书写,等编译之前在把所有的COUNT替换成4;
int a = 4;定义的a是个变量;是在编译过程中把a替换成的4;
在定义数组和字符串的时候,char array[a]="abc";这么写是错误的,因为定义数组和字符串初始化的时候,数组个数不能是变量;而char array[COUNT]="abc";是可以这么写的,因为在未编译之前COUNT已经换成4了宏的数据类型,是根据定义时的值确定的,#define COUNT 4 数据类型就是int,应该是这样
|