學習結構體,以及使用方法

2021-10-10 14:28:51 字數 1922 閱讀 5256

1.什麼是結構體:結構體是由一批資料組合而成的一種新的資料型別。組成結構型資料的每個資料稱為結構型資料的「成員」。

1.1結構體變數:關鍵字struct和結構體名組合成一種型別識別符號,其地位如同通常的int、char等型別識別符號,其用途就像 int 型別識別符號標識整型變數一樣可以用來定義結構體變數。定義變數以後,該變數就可以像定義的其他變數一樣使用了;成員又稱為成員變數,它是結構體所包含的若干個基本的結構型別,必須用「{}」括起來,並且要以分號結束,每個成員應表明具體的資料型別。成員型別可以是變數,陣列,指標,以及其它結構體;

2,結構體的定義:

struct ta**ariable-list	//ariable-list結構體宣告的變數

/*****************************************/

//定義一:

struct stu

;struct stu s1 =

;//給結構體賦值;

struct people

;struct people s1 =

;/*****************************************/

//定義二

typedef

struct stu

stu;

stu s1 =

;//給結構體賦值;

typedef

struct people

pl;pl p1 =

;//結構體後面的分號不能丟!!!

1.結構體成員的訪問

1.結構體變數訪問成員 結構變數的成員是通過點操作符(.)訪問的。點操作符接受兩個運算元

#include

struct student

s1;int

main

(void);

//給結構體賦值

printf

("name=%s\n"

, s1.name)

;//列印姓名

printf

("age=%d\n"

, s1.age)

;//列印年齡

printf

("***=%s\n"

, s1.***)

;//列印性別

printf

("title=%s\n"

, s1.phone)

;//列印**

return0;

}

2.結構體指標訪問指向變數的成員 有時候我們得到的不是乙個結構體變數,而是指向乙個結構體的

指標 ,可以通過->(指向結構體成員運算子)

#include

typedef

struct stu

stu;

void

display

(struct stu * s1)

intmain

(void);

//給結構體賦值

display

(&s)

;//把s的位址傳遞給display函式

return0;

}

3.結構體與結構的巢狀

struct stu

;typedef

struct class1

c;void

display

(c * c1)

intmain

(void),

,};//給結構體賦值

display

(&c1)

;return0;

}

先定義了乙個stu結構體,把stu結構體變數,放到class結構體中作為class結構體的成員變數,在mian函式進行初識化賦值,把c1的位址傳給display函式

參考鏈結

結構體陣列使用方法

結構體陣列 結構體陣列與數值型陣列不同之處在於每個陣列元素都是乙個結構體型別的資料,它們都分別包括各個成員項。結構體陣列的定義 和定義結構體變數的方法相仿,只需說明其為陣列即可。先定義結構體類 型再定義陣列名 在定義型別的 同時定義陣列 直接定義結 構體型別陣列 struct結構體名 struct結...

全域性結構體的使用方法

1.對於全域性結構體定義,首先在globals.h標頭檔案中構造結構體,用typedef方式,如 typedef struct parameter param 2.在globals.cpp檔案中 param parameter null 注意,在這裡初始化,這是初始的指標型別 3.再回到global...

C語言結構體使用方法

定義 關鍵字 struct struct 結構體名 結尾為分號 structstu 定義結構體變數 既然結構體是一種資料型別,那麼就可以用它來定義變數。例如 structstu stu1,stu2 定義了兩個變數 stu1 和 stu2,它們都是 stu 型別,都由 5 個成員組成。注意關鍵字str...