1.在c語言中,可以使用結構體(struct)來存放一組不同型別的資料。結構體的定義形式為:
struct stu
結構體也是一種資料型別,它由程式設計師自己定義,可以包含多個其他型別的資料。
結構體是一種自定義的資料型別,是建立變數的模板,不占用記憶體空間;結構體變數才包含了實實在在的資料,需要記憶體空間來儲存。
2.結構體陣列
struct stuclass[2] = ,
}
3.結構體指標
結構體變數名和陣列名不同,陣列名在表示式中會被轉換為陣列指標,而結構體變數名不會,無論在任何表示式中它表示的都是整個集合本身,要想取得結構體變數的位址,必須在前面加&。
int main()
;struct stu stu1 = ;
struct stu *pstu = &stu1;
printf("%s\n", stu1.name);
printf("%s\n", (*pstu).name);
//或者
printf("%s\n", pstu->name);
}
結構體指標獲取結構體成員寫法:
1)(*pstu).name) 2) pstu->name
->是乙個新的運算子,可以通過結構體指標直接取得結構體成員;這也是->在c語言中的唯一用途。
4.結構體指標作為函式引數
結構體變數名代表的是整個集合本身,作為函式引數時傳遞的整個集合,也就是所有成員,而不是像陣列一樣被編譯器轉換成乙個指標。如果結構體成員較多,尤其是成員為陣列時,傳送的時間和空間開銷會很大,影響程式的執行效率。所以最好的辦法就是使用結構體指標,這時由實參傳向形參的只是乙個位址,非常快速。
c語言 結構體學習筆記
一般形式 struct 結構體名 示例struct student 注意最後的分號2.1.先宣告結構體型別,再定義該型別的變數示例 struct student student1,student2 2.2.在宣告型別的同時定義變數 一般形式 struct 結構體名變數名表列 示例struct stu...
C語言學習筆記 結構體
1 結構體定義 結構體是將不同型別的資料按照一定的功能需求進行整體封裝,封裝的資料型別與大小均可以由使用者指定。2 結構體宣告 宣告乙個結構體型別的一般形式為 struct 結構體名 例如 struct book 注意 結構體名 的命名規範是全部使用大寫字母。3 定義結構體變數 定義結構體型別變數有...
C語言學習筆記 結構體
struct stu 順帶宣告 在結構體宣告的最後的分號前加stu1,stu2這樣的變數名,不需要寫結構體的名字。利用結構體名來宣告變數 struct stu stu3 struct stu stu1,stu2,stu3 這樣的語句中struct stu就可以理解成變數宣告前的int,double等...