我无法理解如何将内存分配给双指针。我想读取一个字符串数组并存储它。
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);
那会是错的吗?如果是这样,为什么会这样?