malloc有太多的论点

jar*_*ryd 0 c malloc struct

我malloc一个2d数组.2d数组是结构的一部分,当我尝试malloc时,我得到一个错误,即malloc有太多的参数.

malloc(world->representation, sizeof(int *) * mapHeight);
int i;
for (i = 0; i < mapHeight, i++ )
{
    malloc(world->representation[i], sizeof(int) * mapWidth);
}
Run Code Online (Sandbox Code Playgroud)

如果它是结构的一部分,它应该如何被malloced?

Bla*_*iev 5

您使用malloc不当.正确的用法是:

world->representation = malloc(sizeof(int *) * mapHeight);
Run Code Online (Sandbox Code Playgroud)

world->representation[i] = malloc(sizeof(int) * mapWidth);
Run Code Online (Sandbox Code Playgroud)