C語言學習筆記之結構體與共用體

2021-08-17 02:27:36 字數 1983 閱讀 6147

結構體:將不同型別的資料組合成乙個有機的整體,以便引用;結構體中的元素也可以為結構體型別的

for exmple :

num     name        ***        age        score        addr

10010    lifei        m            18        87.5            beijing

宣告乙個結構體變數的形式 :

struct    結構體名稱

;結構體元素的輸出:

結構體變數名.成員名

結構體初始化:

#include int main()

a=;printf("%d\n%s\n",a.num,a.name);

return 0;

}

輸出結果;

結構體陣列的定義:

#include #include struct person ;struct person leader[3]=,,};//另一種結構體的定義形式

//等價於 struct person leader[3]=,,};

int main()

}printf("\n");

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

printf("%s:%d\n",leader[i].name,leader[i].count);

} return 0;

}

結構體指標變數

#include #include int main()

; struct student stu_1;

struct student *p;//定義指向結構體的指標變數

p=&stu_1;

stu_1.num=888888;

strcpy(stu_1.name,"li lin");//字串賦值只能用strcpy,不能用=

stu_1.***=' m';//這個可以直接用=賦值

stu_1.score=99;

printf("%d\n%s\n%c\n%f",(*p).num,(*p).name,(*p).***,(*p).score);

return 0;

}

共用體定義:

使不同的資料型別的變數存放在同一段記憶體單元中,

相互覆蓋,使幾個不同的變數公占同一段記憶體的結構,但是都

從同乙個位址開始存放的

。如定義了乙個共用體a,他的位址和他的各個成員位址都是同一位址。

&a,&a.f,&a.c ,&a.i 都是同一位址

。它與結構體根本不同是在記憶體中的存入方式不同。結構體變數所佔記憶體長度是各成員佔的記憶體長度之和,共用體變數佔的記憶體長度等於最長的成員長度。

//後面的懶得寫了

return 0;

}

C語言學習 結構體與共用體

結構體的一般形式為 struct 結構體名 用來標識 zh 乙個結構體 注意 這裡一定要寫分號 因為宣告結構體也是乙個c語言語句 宣告了乙個結構體,相當於構造了一種新的資料型別,此時系統並不為它分配記憶體空間,只有定義力結構體型別的變數,系統才為該變數分配記憶體空間,宣告了結構體後,就可以定義結構體...

C語言結構體與共用體02

小甲魚結構體與共用體02 原始碼 原始碼 做乙個簡單的通訊錄 簡單的通訊錄 原始碼 include struct stu boy1 void main 指向結構體型別資料的指標 結構指標變數說明的一般形式 struct 結構體 結構指標變數名 例如,在原始碼 中定義了stu這個結構,如要說明乙個指向...

結構體與共用體

1.定義乙個機構體的形式 struct 結構名 2.定義結構體變數 變數名表列 變數名表列 3.結構體成員的表示方法 結構變數名.成員名 例如 boy1.num 如果成員本身又是乙個結構則必須逐級找到最低階的成員才能使用。例如 boy1.birthday.month 4.結構體陣列 方法和結構變數相...