数组指针的初始化问题
假设这里有一个数组指针char(*p)[4],我想让它初始化,前提是我不知道数组指针需要的数组元素个数是多少,即数组指针不能用一个确定的二维数组如chara[6][4]来...
假设这里有一个数组指针char(*p)[4],我想让它初始化,前提是我不知道数组指针需要的数组元素个数是多少,即数组指针不能用一个确定的二维数组如char a[6][4]来初始化,那么请问我要怎么让这个数组指针初始化呢?(亟待求解)
展开
1个回答
展开全部
没有太明白您的问题
char (*p)[4]是一个数组指针,限定了每一维的数组长度为4.那么:
char a[6][4];
char b[3][4];
都可以有:
p = a;
p = b;
--------------------------
另外如果数组的m,n都不确定,也可以这样:
int m,n;
scanf("%d %d", &m, &n);
char **p;
p = (char **) malloc(sizeof(char*) * m);
for(int i = 0; i < m; i++)
p[i] = (char *) malloc(sizeof(char) *n);
char (*p)[4]是一个数组指针,限定了每一维的数组长度为4.那么:
char a[6][4];
char b[3][4];
都可以有:
p = a;
p = b;
--------------------------
另外如果数组的m,n都不确定,也可以这样:
int m,n;
scanf("%d %d", &m, &n);
char **p;
p = (char **) malloc(sizeof(char*) * m);
for(int i = 0; i < m; i++)
p[i] = (char *) malloc(sizeof(char) *n);
追问
这里只有数组的维度不确定,而数组长度是确定的,懂了,非常感谢!
追答
客气
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询