C語言結構體

2021-10-03 02:45:09 字數 2772 閱讀 2483

4、結構體變數的初始化

5、結構體變數的引用

6、結構體陣列

7、結構體陣列的存放

8、結構體和指標

基本資料型別:int char float double short long unsigned (乙個變數)

陣列:很多個變數 只能儲存一種型別的資料

結構體:也是一種資料型別,這種資料型別,是程式設計師自己定義。可以包含多種資料型別。

struct students --

----

----

----

----

->

struct students 就是一種資料型別 int

char

float;--

----

----

----

----

----

----

----

-->結構體以「;」結束

struct students 就是一種資料型別 int char float

struct 定義結構體的關鍵字

students 結構體名 (自己命名)

int a;float b;

struct students student1;

結構體變數名也是自己命名的。

struct students  //int float

student2;

struct

student2;

在宣告結構體變數的時候進行初始化

struct students student2 =

;struct students

student1 =

;struct students

student1 =

,student2 =

,student3 =

;

在{}裡面,資料初始化的順序,應該跟結構體成員的順序保持一致。

對於結構體變數的引用不能採用整體。

「.」---->成員運算子

結構體變數.成員名

printf

("%s\n"

,student1.name)

;printf

("%d\n"

, student1.number)

;printf

("%s\n"

, student1.***)

;

注意:結構體同樣可以包含另乙個結構體型別

struct data

;struct students

student1 =

;int

main()

結構體陣列的定義和初始化

跟結構體變數的這個定義是一樣的。

初始化也是一樣。

struct students

student[3]

=,,​ };

struct students student[3]

=,​

,​

};

引用:student[0].成員名。

陣列的存放都是連續的記憶體。乙個結構乙個結構的去存放。(注意)

定義及初始化:

struct students *p =

&student1;

struct students *p;

p =&student1;

引用:

1用指標運算子去找到結構體變數,用成員運算子找到成員。(一定注意要加括號)

(

*p).birthday.year

(*p).結構體成員 一定要加括號 「.」優先順序最高

2用指向運算子去訪問成員。

p->birthday.year

printf

("%d\n",(

*p).birthday.year)

;​ printf

("%s\n",(

*p).***)

;​ printf

("%s\n",(

*p).name)

;​ printf

("%d\n"

, p->birthday.year)

;​ printf

("%s\n"

, p->***)

;printf

("%s\n"

, p->name)

;

定義:

struct students *p = student;

struct students *p;

p = student;

p=student[0]

;

引用:

printf

("%s\n"

,(p+1)

->name)

;//whorld

printf

("%s\n",(

*(p +1)

).name)

;//whorld

C語言結構體

1.1.1 結構概念 1 結構存在的意義 存在是合理的,許多事物的存在是在不斷解決問題引入的,當然有更好的方法出現時改變也是合理的。在實際問題中,一組資料往往具有不同的資料型別。例如,在學生登記表中,姓名應為字元型,學號可為整型或字元型,年齡應為整型,性別應為字元型,成績可為整型或實型。顯然不能用乙...

C語言 結構體

宣告乙個結構體型別 struct 結構體名 成員表列 定義結構體變數的方法 1 先宣告結構體型別再定義變數名。在定義了結構體變數後,系統會為之分配記憶體單元.例如 struct student student1,student2 2 在宣告型別的同時定義變數,例如 struct 結構體名 成員表列 ...

c語言 結構體

1 定義結構體 c語言允許使用者自己建立不同型別資料組成的組合型的資料結構 struct 結構體名 1 結構體的型別不是只有一種,可以根據需要設計許多種,如struct student struct worker等 2 結構體的成員可以是另一結構體的成員,注意的是引用此成員的方式 2 定義結構體變數...