これはばかげた質問かもしれません。同様の質問が寄せられているのを目にしますが、答えが得られません。次のコードが生成するのはなぜですか:
エラー: タイプ 'struct node_t *' からタイプ 'node_t' に代入するときに互換性のないタイプです</p>
node_t list_array[10];
typedef struct node
{
int value;
struct node *next;
struct node *prev;
} node_t;
node_t* create_node(void)
{
node_t *np;
np->next = NULL;
np->prev = NULL;
np->value = rand() % 10;
return np;
}
int main(void)
{
int i;
for(i = 0; i < 10; i++)
{
list_array[i] = create_node();
}
return 0;
}