打印

不知道大家有没有这样做过,请指导方法

[复制链接]
1321|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
genset|  楼主 | 2012-10-10 17:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想做一个能自动生成数组下标的定义,不知道有没有大侠做过,用什么方法?
目的如下;

数组的大小事固定的。
unsigned int Data[1024];
用#define 宏定义
#define DataName_0 Data[0]
#define DataName_1 Data[1]
#define DataName_2 Data[2]
#define DataName_3 Data[3]
#define DataName_4 Data[4]
#define ...
#define ...
#define DataName_1023 Data[1023]

使用的时候只用宏定义后的DataName_X,如下,这样方便一些,
DataName_0=1;

但是问题来了!!!!

如果我现在更改数组位置或者插入新的定义时,就要将所有#define定义的Data[x]下标改一遍,数据有很多,所以非常不方便。例如增加了DataName_new 这个定义,那么原来在它下面的数组下标都要改了,具体如下;


#define DataName_0 Data[0]
#define DataName_1 Data[1]
#define DataName_new Data[2]
#define DataName_2 Data[3]
#define DataName_3 Data[4]
#define DataName_4 Data[5]
#define ...
#define DataName_n Data[n]

不知道如果不适用结构数组,请问有什么方法预处理,使用结构数组时可以的,不用关心位置,只是用名称但是已经有的程序改动很大。谢谢各位大侠。
沙发
airwill| | 2012-10-11 08:58 | 只看该作者
没有这样的定义
不如定义成:
#define DataName(n)  Data[n]

使用特权

评论回复
板凳
huzhulong| | 2012-10-11 15:53 | 只看该作者
最后一行错误

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

7

帖子

0

粉丝