前言:對於c語言指標方面,因為博主目前還不能夠達到自己想要的水平,所以我就不在這裡班門弄斧了,現在總結一下結構體,等再過段時間,我把指標弄的爐火純青的成都的時候,我在來獻醜吧 0v0
三、結構體型別變數的賦值於初始化
四、結構體型別陣列的定義於引用
我們之前學過一些構造型別,陣列就是其中之一,但是陣列中的每乙個元素都具有相同的資料型別,換言之乙個陣列只具有一種資料型別,因此在處理大量的相同資料型別的時候,用陣列的話是很方便滴!但是呢,在處理實際問題的時候,陣列就不適合解決了。比如對乙個學生的資訊進行處理,學生資訊裡面包含著姓名、學號、年齡、愛好、成績、家庭住址等等。所以我們這個時候就需要使用使用者自定義型別來操作了。而接下來我要講的結構體、聯合體均屬於使用者自定義資料型別。在c語言中定義結構體型別的一般格式為:
struct 結構體型別名;
其中struct是使用者用於定義具有結構體型別的關鍵字,此關鍵字告訴編譯系統,準備定義乙個結構。結構型別名是由使用者自己定義的識別符號。 結構體如下:
struct student;
當在程式中定義了某個具體的結構體型別的以後,意味著有了乙個新的資料型別,可以定義該型別的變數。定義結構體型別變數可以有以下3中方法:
struct 結構體名 變數1,變數2,變數3...,變數n;
struct 結構體名變數表;
struct變數表;
如:structstu1,stu2,stu3;
注意:結構體名和結構體變數是兩個不同的概念。結構體名表示一種自定義的資料型別,編譯系統並不給它分配儲存空間。只有通過結構體說明了結構體變數後,才對改變量分配了儲存空間。
再定義結構體變數的說明語句中,可以對定義的結構體變數賦初值,即初始化。此方式於對陣列的初始化相似。//對於訪問結構體成員這裡提一下,後面將會講到總共的三種方式:
//例如:
stu1.num
stu1.name
stu2.birthday.month
//運用陣列和指標的表示,定義了如下的結構體:
struct sstu;
struct s *p=stu;
//第一種:
(*p).num;
//第二種
p->num;
//第三種
stu.num;
//有關的方式後面會相繼提到的。
例如:
struct sstu=;
結構體型別陣列在構造樹、表、佇列等資料結構時特別方便。
定義結構體型別陣列前要先定義乙個結構體型別,然後就可以像定義普通陣列一樣定義結構體型別陣列。定義結構體型別陣列有以下三種方式:
方式一:
struct studentstu[30];
方式二:
方式三:struct student;
struct student stu[30];
structstu[30];
定義後,結構體陣列中的元素在記憶體中是連續存放的 。
未完待續··········struct student
;#include
void main(),,,
,};
for(i=0;i<9;i++)
/*在c語言中'\'這個符號一般用於為了書寫好看而換行且不影響**執行的符號,詳 見
}
C語言 鍊錶 結構體
目的 1.編寫手機 薄管理程式,用結構體實現下列功能 1 手機 薄含有姓名 宅電 手機3項內容,建立含有上述資訊的 簿。2 輸入姓名,查詢此人的號碼。3 插入某人的號碼。4 輸入姓名,刪除某人的號碼。5 將以上功能分別用子函式實現,編寫主函式,可以根據使用者的需要,呼叫相應的子函式。建議用結構體和鍊...
C語言整理 十 (結構體和鍊錶)
在實際應用中,需要處理的資料常常是由多種資料型別組成的。所以c語言給了一種構造資料型別 結構體。結構體型別申明 格式 struct 結構體名 struct是關鍵字,是結構體型別的標誌 1 先宣告結構體型別,再定義結構體變數 格式 struct 結構體名 struct 結構體名 變數名表列 2 宣告結...
C語言結構體及鍊錶定義
最近在看 大話資料結構 一邊看書一邊跑一下書中的案例,加深下理解。書中的案例都是c寫的,順便熟悉下c語言。此處第三章線性表鏈式儲存 typedef struct node node typedef struct node linklist 定義linklist 鍊錶結點定義不是很理解,因此找了些資料...