C語言中的結構體。

2021-08-29 15:58:17 字數 1093 閱讀 6997

這篇部落格我想將一下c語言中的結構體。

對於結構體的概念性問題這裡博主不再過多闡述,我們還是用**說話。

//結構體的語法  這是c語言中的規則

struct 結構體名;

//我們可以寫乙個簡單的結構體

struct student;

//在這裡我們要明白乙個事情,c語言中結構體成員變數一般來說應該從定義的由大至小存放,

//比如上面的例子我們是將name放在了前面,age放在後,如果調換位置會造成記憶體空間的浪費。

//學會typedef關鍵字來給變數起別名,下面我們再舉個例子

typedef struct teacherteacher, *teacher;

//typedef就給struct teacher這個結構體起了別名叫teacher,特別要說明的是*teacher,

//他是怎麼用的呢?我們再寫一段**

main()

//如要在主函式中呼叫函式,改變結構體成員的值,如果用teacher,我們需使用二級指標,

//而使用teacher 就像c語言基本成員變數int等型別一樣,更容易我們的理解.

//我們再寫一段**

void fun1( teacher *p1,teacher *p2){};

void fun2(int a, int b){};

//這裡的fun1和fun2效果等價,比如我們要通過在主函式中通過函式呼叫改變值,通過上面兩種傳參是無效的

//我們可以寫成這樣

void fun3( teacher *p1,teacher *p2){};

//模擬一下 void fun(int* a, int *b){};

//或者使用二級指標

void fun4( teacher **p1,teacher **p2){};

//fun3和fun4都能實現相同的效果,但是fun3是不是看起來更容易一點呢?

我們再說一下結構體的使用問題,比如呼叫開闢等。

//我們首先定義乙個結構體

typedef struct humanhuman;

int main()

C語言中結構體

struct oursvoid main struct ours o2 01 結構體整體直接賦值的時候,即使字串也可以直接賦值 o1.str o2.str 錯誤,字串不能直接賦值 字串拷貝的方式 sprintf o1.str,02.str strcpy o1.str,o2.str 3.1 第一種情況...

C語言中的結構體

在 c語言中,結構體 struct 指的是一種資料結構,是c語言中聚合資料型別 aggregate data type 的一類。結構體可以被宣告為 變數 指標或 陣列等,用以實現較複雜的 資料結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員 member 且這些成員可以為不同的型別,成員...

c語言中的結構體

定義結構體變數 結構體 自定義的一種型別稱為構造型別,在c語言中稱為結構體 定義結構體 struct 結構體名 定義結構體變數 1.struct 結構體名 變數名 引用結構體成員 運算子.結構體變數.成員 定義結構體變數並初始化 struct 結構體名 變數名 結構體與陣列類似,定義之後不能直接整體...