我在更多文件.c和.h上拆分程序时遇到问题 在main.c上我放了一个类似
的结构struct listnumbers {
float number;
struct listnumbers *next;
};typedef struct listnumbers *list;
当我需要编译所有文件时出现问题.c .h和compilator给我一个错误,比如Unknown type name" list" on sorting.h = void sorting(list * pt,float number)
答案 0 :(得分:4)
C区分大小写。 Struct
应为struct
。
C中结构的使用方法是
#include
仅在需要struct
的文件中声明它。换句话说,编写一个正确的接口并将接口声明放在头文件中,接口实现在C文件中。答案 1 :(得分:0)
您需要在使用结构的.h文件中定义结构。
sorted.h上的未知类型名称“list”试图告诉您,在处理sorting.h
时,list
未知。
您还可以通过组合typedef + struct来缩短ist定义。
typedef struct listnumbers {
float number;
struct listnumbers *next;
} *list;