我想做一个能自动生成数组下标的定义,不知道有没有大侠做过,用什么方法?
目的如下;
数组的大小事固定的。
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]
不知道如果不适用结构数组,请问有什么方法预处理,使用结构数组时可以的,不用关心位置,只是用名称但是已经有的程序改动很大。谢谢各位大侠。 |