《黑馬程式設計師》 結構體struct (C語言)

2022-05-29 23:21:08 字數 2000 閱讀 3872

●     數   組:只能由多個相同型別的資料組成

●     結構體:可以由多種不同型別的資料組成

**練習:

#include int main()

; //2.根據結構體型別,定義結構體變數 (真正分配儲存空間)

struct person p =;

p.age = 30; //修改結構體元素的值

p.name = "rose";

printf("age =%d,name = %s,height = %f\n",p.age,p.height,p.name);

return 0;

}

int main()

; struct student stu = ;

}

int main()

stu;

struct student stu2;

}

int main()

stu;

}

#include //定義乙個結構體陣列,並且遍歷結構體陣列內各元素

int main()

; struct rankrecord record[3] = //定義結構體變數

, ,

};record[1].no = 5; //修改結構提內元素的賦值

//record[1] = ; 錯誤寫法

for(i = 0;i <3;i++)

return 0;

}

1、定義在函式外部

全域性有效(從定義結構體型別的那行**開始到檔案結尾)

2.定義在函式內部:

區域性有效(從定義結構體型別的那行**開始到**塊結束)

#include void  test();

int main()

void test()

;}

結構體型別  *p;      例:struct person *p;

p =&變數名;               p =&stu;

#include /*定義乙個結構體變數,輸出用指標指向該結構體的值,使用指標修改

這個結構體內的元素 */

int main()

; struct person stu =; //賦值

struct person *p;

p = &stu; //指向了stu變數

//三種方法可實現修改結構體內元素的值

stu.age = 20;

(*p).age = 30; //使用指標修改結構體內元素的值

p->age = 40;

//三種輸出結構體內元素的值的方法

printf("%d\t%d\n",stu.age,stu.no);

printf("%d\t%d\n",(*p).age,(*p).no);

printf("%d\t%d\n",p->age,p->no);

return 0;

}

/*情景: 乙個學生含有學號、生日(年月日)、入學時間(年月日)等很多時間的屬性是可以將年月日抽取成乙個結構體 

並在這個學生內部定義不同的結構體變數*/

#include int main()

; struct student

; struct student stu = ,};

//輸出生日

printf("year = %d,month = %d,day = %d\n",stu.birtuday.year,stu.birtuday.month,stu.birtuday.day

);return 0;

}

黑馬程式設計師 C語言 結構體

android培訓 ios培訓 期待與您交流!結構體的作用 結構體是一種構造型別,使用非常頻繁。當我們需要把不同型別的資料構成乙個整體時,便會用到結構體了。結構體型別的定義 注意 在函式裡面或者外面都可以定義 影響作用域為全域性型別或者區域性型別 舉例 struct person 此時只是定義了乙個...

黑馬程式設計師 C語言 結構體 列舉

asp.net unity開發 net培訓 期待與您交流!定義乙個名為student的結構體,定義型別時系統並沒有為它分配記憶體 struct student 儲存的位址是連續的,按定義順序排 定義乙個結構體變數,此時系統為stu分配了記憶體 struct student stu 所有成員佔的儲存空...

黑馬程式設計師 c語言結構體介紹

結構體 構造型別 陣列 陣列 只能由多個相同型別的資料構成 結構體 可以由多個不同的型別的資料 結構體型別 結構體變數名 1.定義結構體型別 struct person 2.根據結構體型別,定義結構體變數 struct person p p為結構體變數 單獨賦值 p.age 30 p.name ro...