动态二维字符数组分配不正确



我试图使动态大小的2d字符数组。无论何时分配内存,内部数组的大小总是与外部数组的大小相同。

char **memory;
int outer = 1000;
int inner = 2;
memory = (char**)malloc(outer * sizeof(char*));
for(i = 0; i < outer; i++){
    memory[i] = (char*)malloc(inner * sizeof(char));
}

这导致1000行1000长度的字符数组,我不知道为什么。有人能帮忙吗?

这将产生一个2D char数组,其中行= 1000,列= 2。

最新更新