2 baidu 31083567 baidu_31083567 于 2016.01.18 18:31 提问

如何表示一个变化的数组名

例如我有四个数组buf1[5],buf2[5],buf3[5],buf4[5],想根据i来判断是哪个数组bufi[5],这样写不可以吗

8个回答

caozhy
caozhy   Ds   Rxr 2016.01.18 18:57

用数组的数组就是了
int[][] = { buf1, buf2, buf3, buf4 };

caozhy
caozhy   Ds   Rxr 2016.01.18 19:01

int buf[][] = { buf1, buf2, buf3, buf4 };

91program
91program   Ds   Rxr 2016.01.18 19:33

简单的定义一个二维数组就可以了

abcd_123457
abcd_123457   2016.01.18 19:36
 char buf1[5] = {1},buf2[5] = {2},buf3[5] = {3},buf4[5] = {4},buf5[5] = {5};
char *bufs[5] = {
    buf1,
    buf2,
    buf3,
    buf4,
    buf5
};
char *pthis = bufs[i];

Excellence20160118
Excellence20160118   2016.01.18 19:59

应该把你的问题需求都贴出来,说不定不需要变化数组的名字

Excellence20160118
Excellence20160118   2016.01.18 19:59

应该把你的问题需求都贴出来,说不定不需要变化数组的名字

enpterexpress
enpterexpress   2016.01.18 20:51

把数组放到一个集合里,然后根据变量i遍历集合

qq_27183003
qq_27183003   Ds   Rxr 2016.01.18 23:02

i是数组名的一部分,这肯定是不行的,可以用指针数组:

假定buf是char类型
 char *p[4]={ buf1,buf2,buf3,buf4};
 后面用p[1][j]和你用buf2[j]是一样的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!