繁体   English   中英

C程序上的未知类型名称“列表”

[英]Unknown type name “list” on C program

我在将文件拆分到更多文件.c和main.ci上的.h时遇到问题

struct listnumbers {
  float number;
  struct listnumbers *next;
};typedef struct listnumbers *list;

当我需要编译所有文件时,问题就来了。c .h和编译器在sorting.h =无效排序(列表* pt,浮点数)上给我一个类似未知类型名称“列表”的错误

C区分大小写。 Struct应该是struct

在C中使用结构的方法是

  1. 不要为结构体的typedef烦恼,它们是无用的,只会节省您键入struct关键字的时间
  2. 在公共头文件中声明该结构,并仅在需要该struct文件中#include它。 换句话说,编写一个适当的接口并将接口声明放在标头中,并将接口实现放在C文件中。

您需要在.h文件中定义结构,其中包括使用结构的位置。

sorting.h上的未知类型名称“ list”试图告诉您在处理sorting.h list是未知的。

您还可以通过组合typedef + struct来缩短ist定义。

typedef struct listnumbers {
  float number;
  struct listnumbers *next;
} *list;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM