C语言结构体-大小,对齐,填充,使用及其他
生活随笔
收集整理的這篇文章主要介紹了
C语言结构体-大小,对齐,填充,使用及其他
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C語(yǔ)言結(jié)構(gòu)體-大小,對(duì)齊
C語(yǔ)言中的結(jié)構(gòu)體(struct)的定義
在C語(yǔ)言中,最常用的數(shù)據(jù)結(jié)構(gòu)就是結(jié)構(gòu)體了,結(jié)構(gòu)體也是其它數(shù)據(jù)結(jié)構(gòu)(比如鏈表等)的基礎(chǔ),結(jié)構(gòu)體的使用非常簡(jiǎn)單。
比如,定義一個(gè)結(jié)構(gòu)體:
struct TEST_STRUCT {char Name[20];int Age;char Sex; };在使用TEST_STRUCT的時(shí)候也很方便,如下代碼所示:
void TestStruct() {struct TEST_STRUCT test;test.Age = 20;test.Sex = 'M';strcpy(test.Name,"ZhangSan"); }為什么要使用結(jié)構(gòu)體呢?用單個(gè)變量來(lái)分別表示姓名,性別和年齡不行嗎?其實(shí)是可以的,只是會(huì)比較麻煩一點(diǎn),而且看起來(lái)不直觀,而且結(jié)構(gòu)體更重要的一點(diǎn),具有面向?qū)ο蟮膶傩裕m然C語(yǔ)言中并不支持類這個(gè)概念,但是結(jié)構(gòu)體確確實(shí)實(shí)具有了對(duì)象這個(gè)屬性,比如TEST_STRUCT這個(gè)結(jié)構(gòu)體,如果改名為Person,Person就比較容易理解了,有姓名,年齡,性別等。
既直觀,又很容易擴(kuò)充,比如以后程序需要,這個(gè)Person需要添加一個(gè)新的屬性家庭地址,則只需要添加一項(xiàng)即可,如代碼所示:
總結(jié)
以上是生活随笔為你收集整理的C语言结构体-大小,对齐,填充,使用及其他的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: /bin/bash^M: bad int
- 下一篇: 容器删除元素后迭代器失效_STL 4: