比如我想以这种方式实现多维数组应该怎么改?
#include "stdio.h"
#include "string.h"
void main()
{
int i,j,k;
char ch1[]={'A','B','C','D'};
char ch2[]={ch1,ch1,ch1};
char ch3[]={ch2,ch2};
for(i=0;i<2;i++)
for(j=0;j<3;j++)
for(k=0;k<4;k++)
putchar(ch3[i][j][k]);
}
1、使用malloc函数,先分配第一维的大小,然后再循环分配每一维的大小。
2、例程,分配3行4列二维数组:
可以了:
char *ch2[]={ch1,ch1,ch1};
char **ch3[]={ch2,ch2};
putchar(ch3[i][j][k]);
我不用char ch[][] = {{'A','B','C'},{'C','D','E'}};这种方式来声明和赋值是因为想让它利于构造,就像砖构造墙 墙构造楼 楼构造城 那样。希望能像构造体的嵌套那样用。
char **ch3[]={ch2,ch2};
后回头试一下这行代码,印象中这么写不对,不过也好久没写过代码了= =