在 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的指针,这当然会失败。
不知道这段代码有什么问题-
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的指针,这当然会失败。