黑马程序员技术交流社区
标题:
宏定义问题
[打印本页]
作者:
★Joean_Zhou
时间:
2014-5-26 20:14
标题:
宏定义问题
宏定义能不能把宏名定义为数组 比如#define COUNT[ ] {1,2,3,}
作者:
永远不会贬值
时间:
2014-5-26 21:59
这样是不可以的。
作者:
liulinjie
时间:
2014-5-26 22:23
刚刚试了一下, 不用中括号是可以的, 比如
#define COUNT {1,2,3,}
int main() {
int num[3] = COUNT; // 数组num就是{1, 2, 3}
printf("{%d, %d, %d}\n", num[0], num[1], num[2]); // 输出{1, 2, 3}
return 0;
}
使用中括号编译不通过, 把[ ]中间的空格删掉也不行. 看起来似乎它不会把COUNT[]当做一个整体来编译, 而是把[]当做运算符.
作者:
yangying514
时间:
2014-5-26 23:06
不可以吧,{}好像不符合命名规范
作者:
化学反应
时间:
2014-5-28 20:14
宏定义就是用一个指定的标识符来代表一个字符串,也即:
#define 标识符 字符串
而C语言规定标识符只能由字母,数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2