怎么自动生成不通长度的N个数组
如何自动生成不通长度的N个数组。
问一个问题,C语言的
假如有N个数组
a1,a2,......,aN
怎么自动生成。每个数组的长度是不一样的,长度可以通过计算得到的,不用随机生成的。
主要是a后面的数字不知道怎么变化。当然A,C,D,E,....这种形式也可以的。
------解决方案--------------------
void *array[100];
int array_size[100];
int i;
for (i=0;i <100;++i)
array[i] = malloc(array_size[i]);
------解决方案--------------------
这里我设N=100,如果要用N,那么改100为N就可以了!
------解决方案--------------------
对每个分配空间久可以了撒
顶LS的
------解决方案--------------------
array[i] = malloc(array_size[i]);
————————————————————————
?????
你这个是错的,这样每个数组长度都一样了,都为4。。。
------解决方案--------------------
4应该是32位机器上的,这样说并不准确,你那应该说都是sizeof(int)的大小。。
array[i] = malloc(i * sizeof(int));
------解决方案--------------------
如果是c99
我想,变长数组也可以吧
------解决方案--------------------
array[i] = malloc(array_size[i]);
这句哪里错了????? 没看出来.怎么就成了四了?
------解决方案--------------------
array[i] = malloc(array_size[i]);
====================
这句我也觉得是4了。Kenmark出来explain下。
问一个问题,C语言的
假如有N个数组
a1,a2,......,aN
怎么自动生成。每个数组的长度是不一样的,长度可以通过计算得到的,不用随机生成的。
主要是a后面的数字不知道怎么变化。当然A,C,D,E,....这种形式也可以的。
------解决方案--------------------
void *array[100];
int array_size[100];
int i;
for (i=0;i <100;++i)
array[i] = malloc(array_size[i]);
------解决方案--------------------
这里我设N=100,如果要用N,那么改100为N就可以了!
------解决方案--------------------
对每个分配空间久可以了撒
顶LS的
------解决方案--------------------
array[i] = malloc(array_size[i]);
————————————————————————
?????
你这个是错的,这样每个数组长度都一样了,都为4。。。
------解决方案--------------------
4应该是32位机器上的,这样说并不准确,你那应该说都是sizeof(int)的大小。。
array[i] = malloc(i * sizeof(int));
------解决方案--------------------
如果是c99
我想,变长数组也可以吧
------解决方案--------------------
array[i] = malloc(array_size[i]);
这句哪里错了????? 没看出来.怎么就成了四了?
------解决方案--------------------
array[i] = malloc(array_size[i]);
====================
这句我也觉得是4了。Kenmark出来explain下。