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

2021-06-25 07:15:19 字數 1951 閱讀 3860

若排版有錯誤,請檢視pdf:c語言 - 08 變數、結構體、列舉.pdf

1)     定義:在函式(**塊)內部定義的變數(包括函式的形參)

2)     作用域:從定義變數的那一行開始,一直到**塊結束

3)     生命週期:從定義變數的那一行開始分配儲存空間,**塊結束後,就會被**

4)     沒有固定的初始值

1)     定義:在函式外面定義的變數

2)     作用域:從定義變數的那一行開始,一直到檔案結尾(能被後面的所有函式共享)

3)     生命週期:程式一啟動就會分配儲存空間,程式退出時才會被銷毀

4)     預設的初始值就是0

struct person

;//

補齊演算法(對齊演算法)

// 結構體所占用的儲存空間

必須是最大成員位元組數的倍數

struct person p = ;

p.age = 30;

p.name = "rose";

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

/* 錯誤寫法,只能在定義的時候初始化

structperson p2;

p2 =; */

struct person p2 = ;

p2 = p; // 將p

中的各個值對應地賦值給p2

struct student

;struct student stu;

struct student

stu;

struct student stu2;

struct

stu;

全域性有效(從定義型別的那行開始,一直到檔案結尾)

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

struct rankrecord

;struct rankrecordrecords[3] =,,

};records[0].no = 4;

// 錯誤寫法

//records[0]= ;

struct rankrecord *p;

1)     (*p).成員名稱 //()

表示訪問整體

2)     p->成員名稱

struct rankrecord *p; //

指標變數

p將來指向

struct rankrecord

型別的資料

p = &record[1]; //

指標變數p指向

record[1]

// 第一種方式

printf("score=%d,no=%d\n",record[1].score, record[1].no);

// 第二種方式

printf("score=%d,no=%d\n",(*p).score, (*p).no);

// 第三種方式

printf("score=%d,no=%d\n",p->score, p->no);

// 如果結構體作為函式引數,只是將實參結構體所有成員的值對應地賦值給了形參結構體的所有成員

// 修改函式內部結構體的成員不會影響外面的實參結構體

void test(struct rankrecord s)

// 會影響外面的實參結構體

void test2(struct rankrecord *p)

struct date

;// 型別

struct student

;struct student stu = , };

printf("year=%d,month=%d,day=%d\n", stu.birthday.year, stu.birthday.month,stu.birthday.day);

enum season

;enum season s = spring;

黑馬程式設計師 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...