関数で文字列の配列を再割り当てしたいと思います。ここで示すために、非常に単純なプログラムを作成します。文字「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;
}
どうもありがとうございました!