精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C語言結構體(struct)用法詳解

開發(fā) 后端
雖然粉絲最后都理解了,但是仍想趁著這個機會整理一下結構體的用法,希望能夠對剛入行的童鞋們有所幫助。

粉絲問答

有個粉絲在群里問了這樣一個問題,問題在圖中已經標出,如下圖。

DQuestsion

頭文件的結構體的定義為:

typedef struct{
u8 bmRequestType;
u8 bRequest;
u16 wValue;
u16 wIndex;
u16 wLength;
}USB_Request_Header_t;

雖然粉絲最后都理解了,但是仍想趁著這個機會整理一下結構體的用法,希望能夠對剛入行的童鞋們有所幫助。

結構體

在實際的開發(fā)過程中,一組數據往往具有不同的數據類型,此時數組是不能夠滿足需求了。因為數組中各元素的類型必須是一致的。為了解決這個需求,C中給出了另一種數據類型-結構體,每一個成員可以是任意一種數據類型。

定義一個結構體的類型為:

struct 結構名 {
成員列表
};

其中struct后面的叫做結構體名,而struct 結構名叫做結構體類型,只有結構體類型才可以定義變量,結構體名是不能定義變量的。注意}后面是需要加;的。

struct stu {XXX};
stu stu1; //fail
struct stu stu1; //true

三種結構體類型變量說明

結構變量有以下三種方式。

1. 先定義結構,再定義結構變量

struct stu{
int age;
};
struct stu stu1; //定義了變量stu1

2. 定義結構體類型的同時說明變量:

struct stu{
int age;
}stu1;

3. 直接說明結構變量:

struct {
int age;
}stu1;

這種方法和第一種方法相比,就是省略了結構體名,而省略的結構體名,就無法組合結構體類型了,而無這種結構體類型,自然就不能再定義這種結構體類型的變量了。

這種結構體也被稱為匿名結構體,即沒有結構體名。匿名結構體通常作為結構體成員的一個變量去使用。如下:

struct stu{
int age;
struct {
int month;
}birthday;
}stu1;
sut1.birthday.month = 10; //用法

結構體成員表示方法

struct stu stu1, *pstu1;
pstu1 = &stu1;
stu1.age = 10; //true
(&stu1)->age = 10; //true
pstu1->age = 10; //true
(*pstu1).age = 10; //true
*pstu1.age = 10; //fail

如果對變量訪問成員,則使用.運算符,如果是對指針訪問成員則使用->運算符。

上例中除了最后一個都是對的。因為.運算符的優(yōu)先級高于*,所以會先執(zhí)行pstu1.age,而pstu1是一個指針,不可以使用.運算符去訪問,需要正確使用->運算符訪問。所以最終會報錯。

結構體指針做參數

struct stu stu1;
void fun(struct stu *val);
fun(&stu1);

在這里也有新手誤解的地方,在函數入參這一塊,傳入的是一個指針,并不是說外部一定要先定義一個指針變量struct stu *xxx,然后把xxx傳進去。就像下面一樣。

struct stu stu1;
struct stu *p_stu1 = &stu1;
fun(p_stu1);

結構體初始化

定義變量的同時初始化

struct stu{
int age;
}stu1 = {18};

先定義在初始化

struct stu stu1,stu2;
stu1.age = 18;
stu2 = stu1; //結構體之間可以直接賦值

常用初始化

在開發(fā)過程中,一個結構體之間會存在若干成員,極其復雜。這個時候通常是將成員全部清零,然后再對需要的成員進行構造。

struct stu stu1;
memset(&stu1, 0 ,sizeof(stu1));
XXX_Init(&stu1.xxx);

typedef與struct

常規(guī)定義結構體類型需要用struct 結構名的方式,比較繁瑣。所以結構體定義往往與typedef相結合使用。

如果使用下面這種方法,結構體名我通常是省略的,因為我已經不打算使用struct方式定義變量了。

typedef struct _stu{
int age;
}STU;

此時STU就等價于struct _stu,只不過換了個名字。

struct _stu stu1;  //true
STU stu2; //true
struct STU stu3; //fail,多了struct
_stu stu4; //fail,缺少struct

前置聲明

在定義結構體的時候,往往會碰到這種情況,結構體成員中需要用到此結構體的類型。首先下面定義是正確的,如下:

struct stu {
int age;
struct stu stu2;
}stu1;

如果和typedef一塊使用,然后用重新定義的類型。就需要前置聲明。

typedef struct stu STU;
struct stu{
int age;
STU stu2;
};

這樣成員變量中就不用struct加結構體名的形式定義了,直接可以用STU定義所需變量。

結構體對齊

結構如何對齊呢,使用的是偽指令#pragma

#pragma pack(push,2)
typedef struct stu {
char sex;
int age;
}STU;
#pragma pack(pop)

2代表是以2個字節(jié)對齊的,此時sizeof(STU)等于6,因為sex為char型占1個字節(jié),但是指定了兩個字節(jié)對齊,所以分配給sex的內存實際有兩個字節(jié)的空間。

注意字節(jié)對齊是以2的n次冪對齊的。即1、2、4、8等。不能是3字節(jié)對齊。

責任編輯:龐桂玉 來源: C語言與C++編程
相關推薦

2023-11-15 13:15:52

C語言結構體

2023-06-09 08:16:09

GolangStruct Tag

2009-08-13 14:46:03

C#結構體定義

2010-12-30 09:22:58

C語言 數組

2009-08-14 11:05:28

C#語言的結構體

2014-02-10 15:05:37

C語言封裝

2020-07-21 15:20:20

語言結構體共用體

2009-08-13 15:41:50

C#結構體指針

2020-03-30 09:22:36

C語言結構體

2010-07-16 09:50:23

Perl控制結構

2014-04-01 10:11:33

C語言指針

2013-06-26 10:13:32

C語言結構體結構體偏移

2021-08-02 07:02:18

數據結構體Struct

2009-08-13 13:29:04

C#結構體使用

2023-10-10 13:58:00

C語言代碼結構體

2009-09-07 16:13:56

C# MessageB

2022-09-30 15:03:09

C語言深拷貝淺拷貝

2025-03-31 01:00:10

2023-07-29 15:03:29

2022-08-31 10:13:04

C語言代碼
點贊
收藏

51CTO技術棧公眾號

亚洲综合一区二区| 岛国精品在线观看| 色琪琪综合男人的天堂aⅴ视频| 能看的毛片网站| 蜜桃视频在线观看免费视频网站www| 国产一区二区三区日韩| 91国在线精品国内播放| 欧美人妻一区二区三区| 日本精品视频| 欧洲av在线精品| 国产成人永久免费视频| 国产高清视频免费最新在线| 国产传媒一区在线| 国产精品com| 久久久久久久99| 91精品综合久久久久久久久久久 | 成人在线播放网址| 久草在线网址| 盗摄精品av一区二区三区| 国产精品aaaa| 西西44rtwww国产精品| 91av精品| 色综合影院在线| 波多野结衣福利| 136国产福利精品导航网址应用| 色偷偷88欧美精品久久久| 国产精品国产三级国产专区51| 岛国最新视频免费在线观看| 99久久精品国产网站| 亚洲www在线| 最新国产中文字幕| 久久久久久黄| 欧美综合在线第二页| 精品无码m3u8在线观看| 中文字幕人成人乱码| 中文字幕亚洲精品| 美女脱光内衣内裤| 一区二区三区日本久久久| 精品免费日韩av| 青娱乐精品在线| 日日狠狠久久| 欧美日韩国产影片| 国产三级国产精品国产专区50| 少妇视频在线观看| 精品国产乱码久久久久久虫虫漫画| 看全色黄大色大片| a在线免费观看| 亚洲视频一区二区免费在线观看| 亚洲欧美精品| 永久免费av在线| 国产精品久久久久久亚洲毛片| 欧美影视一区二区| 免费黄色片在线观看| 91视频免费看| 欧美日韩免费观看一区| 黑人与亚洲人色ⅹvideos| 久久精品人人做人人爽97| 欧美lavv| 在线激情小视频| 亚洲欧洲日韩综合一区二区| 久久免费看毛片| 国内精品不卡| 亚洲一区二区影院| 国产青青在线视频| 婷婷综合六月| 欧美日韩久久一区二区| 亚洲综合20p| 大香伊人久久精品一区二区 | 日本少妇一级片| 福利电影一区| 亚洲免费伊人电影在线观看av| wwwwww日本| 日产午夜精品一线二线三线| 久久久国产视频| 成人免费看片98| 亚洲一区中文| 国产日韩在线播放| 亚洲黄色在线免费观看| www.在线成人| 日本一区视频在线| 免费黄色在线看| 亚洲欧美区自拍先锋| 国产在线xxxx| 午夜日韩成人影院| 欧美一区二区三区四区久久| 天堂www中文在线资源| 九九免费精品视频在线观看| 日韩在线不卡视频| 国产午夜福利一区二区| 日韩vs国产vs欧美| 51精品国产人成在线观看| 天天干天天舔天天射| 中文在线资源观看网站视频免费不卡| 美国av在线播放| 狼人综合视频| 6080日韩午夜伦伦午夜伦| 中国极品少妇videossexhd| 欧美日韩国产在线观看网站 | 免费一级全黄少妇性色生活片| 宅男噜噜噜66国产日韩在线观看| 国产精品你懂得| 成人免费视频国产| 中文字幕av一区二区三区免费看 | jizz一区二区三区| 欧美午夜在线观看| 欧美成人三级伦在线观看| 久久高清免费| 51ⅴ精品国产91久久久久久| 国产精品久久婷婷| 久久综合丝袜日本网| 日本美女爱爱视频| 51一区二区三区| 日韩av网站导航| 国产一二三四区| 奇米影视一区二区三区小说| 黑人另类av| 1769免费视频在线观看| 日本道免费精品一区二区三区| 少妇熟女视频一区二区三区 | 免费毛片网站在线观看| av在线亚洲一区| 国产亚洲欧洲高清| 九九热精品视频在线| 国产成人精品免费看| 影音先锋亚洲视频| 一区二区三区电影大全| 精品粉嫩超白一线天av| 99自拍视频在线| 秋霞影院一区二区| 欧美精品尤物在线| 综合日韩av| 国产丝袜一区二区| 欧美成人精品欧美一级乱黄| 岛国精品在线播放| 在线观看污视频| 国产精品久久久久久久久久久久久久久 | 欧美一级高清免费播放| 亚洲国产精彩视频| 亚洲精品成人a在线观看| 三年中文在线观看免费大全中国| 欧美一区电影| 五月天婷婷在线播放| 欧美成人福利| 亚洲第一区在线观看| 一级黄色录像视频| 国产精品中文欧美| 真人做人试看60分钟免费| 日韩成人在线一区| 日韩最新在线视频| 国产又粗又大又爽视频| 国产精品久久久久一区| 久热精品在线播放| 99国产**精品****| 成人欧美一区二区三区在线 | ,一级淫片a看免费| 中文字幕一区av| 亚洲自拍第三页| 欧美91视频| 国产精品v欧美精品v日韩| 免费在线看污片| 亚洲精品乱码久久久久久按摩观| 成人精品免费在线观看| 久久久影院官网| 超碰影院在线观看| 欧美mv日韩| 亚洲精品免费网站| 大桥未久在线播放| 亚洲国产精品99| 国产又黄又猛又粗又爽| 国产日韩成人精品| 超碰在线资源站| 激情综合电影网| 精品综合在线| 国产亚洲精品精品国产亚洲综合| 按摩亚洲人久久| 动漫av一区二区三区| 欧美性高潮床叫视频| 久久久久久成人网| 国产成人亚洲精品狼色在线| 一二三四视频社区在线| 精品久久美女| 亚洲在线观看视频网站| 草草在线观看| 中文字幕日韩免费视频| 国产激情久久久久久熟女老人av| 亚洲777理论| 少妇视频在线播放| 丰满亚洲少妇av| 热久久精品免费视频| 综合精品一区| 欧日韩一区二区三区| 国产高清日韩| 日本亚洲欧洲色α| caopeng在线| 亚洲视频在线观看免费| 国产精品探花视频| 黑丝美女久久久| 欧美三级黄色大片| 久久奇米777| 无人码人妻一区二区三区免费| 亚洲综合社区| 51xx午夜影福利| 国内成人自拍| 国产精品区一区二区三在线播放| 精品福利在线| 青青a在线精品免费观看| 99热国产在线| 伊人成人开心激情综合网| 亚洲精品久久久久久动漫器材一区 | 国产偷国产偷亚洲清高网站| 国产精品无码久久av| 色哟哟日韩精品| 国产精品7777| 一区二区在线看| 亚洲不卡的av| 久久久三级国产网站| 一级黄色片毛片| 国产精品自在在线| 岛国毛片在线播放| 天堂成人免费av电影一区| 青草青青在线视频| 欧美成熟视频| 日本黄色播放器| 成人羞羞在线观看网站| 欧美另类一区| 久久久久久毛片免费看 | 91一区二区| 日本公妇乱淫免费视频一区三区| 精品国内亚洲2022精品成人| 5g国产欧美日韩视频| 国产精品久久久久久av公交车| 国产精品男人的天堂| 91精品国产66| 国产精品日韩电影| 久久久人成影片一区二区三区在哪下载| 久久人人爽人人爽人人片av高请 | 制服下的诱惑暮生| 极品少妇一区二区| 久久黄色片网站| 美女脱光内衣内裤视频久久网站| 免费国产成人av| 美女日韩在线中文字幕| 国产精品秘入口18禁麻豆免会员 | 91高潮在线观看| 2019中文字幕在线电影免费| 久久久免费精品| 都市激情久久综合| 久久久噜噜噜久久久| 超碰成人av| 欧美一区二区三区免费观看| 欲香欲色天天天综合和网| 日韩av成人在线| 日韩中文影院| 国产女人18毛片水18精品| 成人日韩精品| 成人精品在线视频| 国产精品一区三区在线观看| 51国偷自产一区二区三区| 99这里只有精品视频| 国产在线精品一区二区中文| 欧美亚洲tv| 日本午夜精品一区二区| 爽成人777777婷婷| 国产成人免费高清视频| 国产精品啊v在线| 欧美一区二区中文字幕| 天堂va蜜桃一区二区三区| 一级黄色特级片| 国产福利一区二区三区视频| 美女黄色一级视频| 久久久久久久电影| 成年人网站在线观看视频| 一区二区三区在线视频观看58| 日产精品久久久久| 日本高清成人免费播放| 国产精品久久久久久久免费看| 日韩精品一区二区在线| 日韩欧美电影在线观看| 少妇高潮久久77777| 牛牛电影国产一区二区| 日本一区二区三区在线播放| 看片一区二区| 91亚洲国产成人精品性色| 久久精品国产亚洲5555| 午夜精品一区二区三区四区| 欧美精品入口| av网址在线观看免费| 国产精品一二二区| 97伦伦午夜电影理伦片| 中文字幕一区二区三区在线不卡| 国产中文字字幕乱码无限| 欧美亚洲动漫精品| 手机看片国产1024| www.亚洲男人天堂| 在线高清av| 超碰在线97av| 第九色区aⅴ天堂久久香| 久久国产精品网| 韩国毛片一区二区三区| 大黑人交xxx极品hd| 亚洲欧美日韩久久| 日韩欧美国产另类| 欧美成人video| 男人的天堂在线视频免费观看| 欧美性视频精品| 日本在线成人| 在线一区日本视频| 天堂久久一区二区三区| 色婷婷精品久久二区二区密| 中文字幕在线一区二区三区| 国内自拍视频在线播放| 欧美成人猛片aaaaaaa| 日本韩国在线视频爽| 日本一区二区在线播放| 中文字幕亚洲在线观看| 97超碰人人爱| 久久99在线观看| 手机毛片在线观看| 日韩欧美在线看| 污污的视频网站在线观看| 欧美日本精品在线| 99综合99| 黄瓜视频免费观看在线观看www| 久久九九精品| 一级特级黄色片| 性久久久久久久久| 亚洲av无码专区在线| 久久亚洲春色中文字幕| 久久久精品一区二区毛片免费看| 久久国产精品一区二区三区四区| 欧美午夜在线视频| 中文字幕日韩综合| 国产精品三级视频| www.亚洲激情| 亚洲社区在线观看| 成人影院入口| 欧美重口乱码一区二区| 亚洲一区二区三区免费在线观看| 国产精品入口麻豆| 精品成人av一区| 四虎影院在线域名免费观看| 97在线视频国产| 日韩av字幕| 日本精品www| 国产亚洲精品aa| 亚洲精品久久久久久久蜜桃| 国产午夜精品视频| 精品三区视频| 亚洲在线色站| 黄色资源网久久资源365| 91高清免费观看| 日韩欧美中文字幕一区| 污污的网站在线免费观看| 福利精品视频| a91a精品视频在线观看| 亚洲午夜久久久久久久久红桃| 欧美性xxxx极品hd欧美风情| 国产二区视频在线观看| 国产在线日韩在线| 亚洲综合专区| 国产午夜在线一区二区三区| 无吗不卡中文字幕| 精品福利视频导航大全| 国产精品香蕉在线观看| 小小影院久久| 日批免费观看视频| 欧美视频一二三| www.视频在线.com| 亚洲一区二区中文字幕| 激情久久婷婷| 免费看黄色三级| 91麻豆精品国产| 国模私拍一区二区国模曼安| 欧洲亚洲一区二区| 狠狠色综合播放一区二区| 国产一级一级片| 亚洲日韩中文字幕| 国产精区一区二区| 日韩欧美视频网站| 国产精品久久久久精k8| 性欧美8khd高清极品| 日韩av片免费在线观看| 97久久视频| 亚洲一区二区三区综合| 欧美午夜影院一区| 91福利区在线观看| 视频一区亚洲| 成人va在线观看| 日本妇乱大交xxxxx| 欧美激情视频一区二区三区不卡| 蜜乳av综合| 91成人在线观看喷潮蘑菇| 在线观看精品一区| 免费不卡av| 亚洲成人一区二区三区| www.色综合.com| 91在线视频国产| 51视频国产精品一区二区| 欧美88av| 97精品在线播放|