簡體   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