我想用一个函数重新分配一个字符串数组。我在这里编写了一个非常简单的程序来演示。我希望输出字母“b”,但我得到 NULL。
void gain_memory(char ***ptr) {
*ptr = (char **) realloc(*ptr, sizeof(char*) * 2);
*ptr[1] = "b\0";
}
int main()
{
char **ptr = malloc(sizeof(char*));
gain_memory(&ptr);
printf("%s", ptr[1]); // get NULL instead of "b"
return 0;
}
非常感谢!