C结构指针类型相同,但仍然失败



我正在Linux上构建一个C测试程序。

为什么下面的代码编译失败?在list_t被类型定义之后,编译器不应该稍后理解它与struct list是同一类型吗?

尝试使用malloc((创建新列表项失败,error: invalid type argument

#include <stdio.h>
#include <stdlib.h>
typedef struct list
{
struct list *next_ptr; 
int value;
}list_t;
int main()
{
list_t myList;
myList->next_ptr = malloc(sizeof(list_t)); // This fails
return 0;
}

myList->next_ptr应该是myList.next_ptr,因为myList不是指针。

相关内容

  • 没有找到相关文章

最新更新