在 c 1 中使用 realloc

using realloc in c 1

不知道这段代码有什么问题-

void initialize(char ***A, int r, int c){
*A = (char **)realloc(A,sizeof(char *)*r);
}

这是电话-

char **A;
initialize(&A, 10, 10);
printf("%c",A[1][1]);

谢谢。

A 未初始化,尝试用 NULL:

初始化它
char **A = NULL;
initialize(&A, 10, 10);
在这种情况下,

realloc() 的行为类似于 malloc(),并且在以后的调用中会正确地 realloc()。否则,未初始化的指针将被 realloc().

取消引用

此外,realloc() *A:

realloc(*A, sizeof(char *) * r);

否则,你会尝试重新分配指针到你分配的spaceA的指针,这当然会失败。