C語言學習之 結構

2021-08-21 20:01:19 字數 1464 閱讀 5658

資料型別——基本資料型別&構造資料型別

構造資料型別:e.g.陣列——儲存多個同種型別資料,結構——儲存多個不同型別資料。

定義結構:

struct 結構名——————————struct student

————————————————}

定義變數:

struct student alice, bob;定義了結構體變數alice, bob。

(or使用巨集定義用乙個符號常量代替結構型別,例如用stu代替所有的struct student,但需要先定義乙個#define stu struct student)

呼叫:alice.num = *** ,alice.name, alice.score

初始化:struct student alice;

注意vs2017中結構初始化時只能用{},不可以用()

注意vs2017中未定義長度的char輸入都要定義為const char,否則會報「const char 無法用於初始化char型別的資料」的錯誤。

定義:struct student *p;

變數:p = &alice;

呼叫:alice.name——(*p).name——p->name等價

陣列:p = needs;——等價於——p = &needs[0];

示例**如下:

#include #include #define n 3

struct subject

;struct student

bob = ;

struct minneed

; int main()

,, };

//定義指標

struct minneed *pneed;

pneed = needs;

struct student *p;

p = &bob;

int i, m = 0;

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

for (i = 1; i < n; i++)

if (needs[m].age < needs[i].age)

m = i;

printf("年齡最大的人的個人資料:\n");

printf("姓名:%s\n性別%s\n年齡%d\n位址%.2f\n", needs[m].name, (needs[m].***==1)?"男":"女", needs[m].age, needs[m].amount);

//結構變數一般初始化

printf("%s %d %d %s %f %f %f",bob.name,bob.num,(*p).age,p->***,bob.score.chinese,bob.score.english,bob.score.math);

system("pause");

return 0;

}

C語言學習之結構體等

結 構 體 1.結構體的定義 struct 結構體名 2.結構體的初始化 1.有名結構體初始化 1.全部初始化 struct student struct student a 2.部分初始化 struct student a 3.定義結構體時初始化定義變數 struct student a 2.無名...

C語言學習 結構體

include include include 宣告結構體 struct student student結構體名 int age char int main 初始化結構體變數 bbbb strcpy s1.name,bbbb s1.age 22 s1.m 列印結構體變數,逐個列印 printf s ...

C語言學習 結構體

題目要求 學生的記錄由學號 姓名 專業組成,根據班級人數,將學生記錄存放在結構體陣列中,由於部分同學轉專業,學生記錄發生了變化,請程式設計實現根據學號查詢查詢學生並修改專業,分別輸出轉專業和未轉專業的學生記錄。要求 班級人數 學生記錄均由鍵盤輸入 include define m 100 要求 1....