有好的方法进行这样的宏定义吗?

ltc_mouse 2005-07-23 11:15:33
#define MAX_NUM 13
struct TestStruct;

#define DEF_TESTVAR( index ) static TestStruct Test##index

我希望实现定义MAX_NUM个TestStruct变量,即:
DEF_TESTVAR( 1 ); DEF_TESTVAR( 2 ); ... DEF_TESTVAR( MAX_NUM );

但由于MAX_NUM可能变化,怎样处理会好一点(改变MAX_NUM时不需要调整其他代码)?
...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
okdavinci 2005-07-23
  • 打赏
  • 举报
回复
学习~~~~~~·
Kusk 2005-07-23
  • 打赏
  • 举报
回复
宏的作用比较硬性,要实现动态的循环计数,可能比较困难。
flymood 2005-07-23
  • 打赏
  • 举报
回复
不知你要实现什么功能?尽量少用宏。

cqpp 2005-07-23
  • 打赏
  • 举报
回复
动态创建撒!
(struct TestStruct*)malloc(MAX_NUM*sizeof(struct TestStruct));
ltc_mouse 2005-07-23
  • 打赏
  • 举报
回复
谢谢 boxban(冻酸梨),由于原来的定义中同时进行了初始化,思维定势了用宏
数组是很好的建议,thx~

cqpp() 的动态创建,我也想过,但不好维护(因为在多任务嵌入式中使用),呵呵~

关于该不该使用宏,这个不好说了,尤其是调试或者多个项目共用代码时,宏非常灵活而方便^_^
boxban 2005-07-23
  • 打赏
  • 举报
回复
为什么不用数组呢?

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧