ダブルポインターにメモリを割り当てる方法がわかりません。文字列の配列を読み取って保存したい。
char **ptr;
fp = fopen("file.txt","r");
ptr = (char**)malloc(sizeof(char*)*50);
for(int i=0; i<20; i++)
{
ptr[i] = (char*)malloc(sizeof(char)*50);
fgets(ptr[i],50,fp);
}
これの代わりに、大きなメモリブロックを割り当てて文字列を保存するだけです
char **ptr;
ptr = (char**)malloc(sizeof(char)*50*50);
それは間違っているでしょうか?もしそうなら、それはなぜですか?