我只是尝试制作一些指向" Nall" struct所以我写这段代码
Nall **headall;
headall = malloc (30000 * sizeof (Nall));
for (i = 0; i < 30000; i++) {
*(headall+i) = newNall;
}
现在我收到此错误
&#34;警告:分配给
Nall *
的指针类型不兼容 来自struct nodeall *
的{Nall *(void)
} (又名struct nodeall *(void)
)[ - 兼容指针类型]*(headall+i) = newNall;
&#34;
答案 0 :(得分:4)
从编译器警告我假设newNall
实际上是一个分配新struct nodeall
并返回指向它的指针的函数。在这种情况下,您的代码应如下所示:
Nall **headall;
headall = malloc(30000 * sizeof *headall);
for (i = 0; i < 30000; i++)
headall[i] = newNall();
请注意sizeof
运算符的参数以及newNall
之后的括号。