數組要求所有元素類型相同,無法存儲異構數據(如姓名 string、年齡 int、薪資 double)。結構體允許將不同類型的相關數據組織為單一單元,極大提升代碼可讀性與維護性。
struct Inflatable {
char name[20];
int age;
float volume;
double price;
}; // 分號不可省略
創建變量:`Inflatable kuli, dawei;`(C++ 中可省略 struct 關鍵字)。訪問成員用點運算符:`kuli.name`, `kuli.price`。
支持整體賦值:`test = pal;` 會逐成員複製(含數組)。作為函數參數傳遞時,可按值傳遞(複製整個結構)或按引用/指針傳遞(高效,避免拷貝開銷)。
存儲多個同類對象:`Inflatable guests[2] = { {"Basdf", 12, 123879234}, {"Xcfaw", 32, 231834623} };`。每個元素是一個完整結構。
C++ 結構體默認成員 public,除此與類幾乎相同(可含成員函數、構造函數、繼承等)。C 結構體僅含數據成員。實際開發中,純數據聚合用 struct,含行為用 class,體現語義區別。
結構體是 C/C++ 中組織異構數據的基石,掌握其定義、初始化、賦值、作用域、數組應用及傳參策略,對編寫清晰、可維護、可擴展的代碼至關重要。