亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

c/c++中struct定義、聲明、對齊方式解析

2020-05-23 13:33:48
字體:
來源:轉載
供稿:網友

一、定義/聲明方式

第一種:僅有結構體名,不定義/聲明變量

struct MyStruct{int i;char a[10];double b;};

第二種:有結構體名,并聲明變量名

struct MyStruct{int i;char a[10];double b;}structName;

struct MyStruct{int i;char a[10];double b;};

struct MyStruct structName;

//可同時定義,如struct MyStruct structName={7,“xxxxxxxxxx”,2.1};

//也可結構體之間直接賦值,如struct MyStruct structName = structName1;

//以上為c風格,c++中struct MyStruct structName可省略struct ,也可不省。

第三種:無結構體名,直接聲明變量(對于該結構體,只需要聲明一個變量)

struct{int i;char a[10];double b;}structName;

第四種:帶typedef

typedef struct MyStruct{int i;char a[10];double b;}structName;

則structName=struct MyStruct,structName是結構體類型的別名,不是變量。

可以有structName aa=struct MyStruct aa;

也可以這樣:

typedef struct{int i;char a[10];double b;}structName;

可以直接structName aa,效果跟上面一樣。

typedef主要是為了省事,對于c語言定義結構體變量時總要帶上struct關鍵字,typedef之后就不用了,而c++本身就
不需要struct關鍵字,所以貌似也不需要typedef。

二、對齊方式

如:

struct MyStruct{double dda1;char dda;int type;};int i = sizeof(MyStruct);

經vs2008測試i=16,“sizeof(MyStruct)=sizeof(double)+sizeof(char)+sizeof(int)=13”是不對的。這是VC對變量存儲的一個特殊處理,為了提高CPU的存儲速度,VC對一些變量的起始地址做了“對齊”處理。在默認情況下,VC規定各成員變量存放的起始地址相對于結構的起始地址的偏移量必須為該變量的類型所占用的字節數的倍數。

對于上例,16=8+1+3+4,剛好為結構的字節邊界數(即結構中占用最大空間的類型所占用的字節數sizeof(double)=8)的倍數,所以沒有空缺的字節需要填充。

所以整個結構的大小為:sizeof(MyStruct)=8+1+3+4=16,其中有3個字節是VC自動填充的,沒有放任何有意義的東西。

又如:

structMyStruct{char dda;double dda1;int type;};

sizeof(MyStruct)為24=1+7+8+4+4;11個字節是vc自動填充的,最后加的4是為了讓結構的字節邊界數為結構中占用最大空間的類型所占用的字節數的倍數。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产一中文字不卡| 亚洲成人黄色在线| 在线日韩中文字幕| 一区二区三区四区在线观看视频| 亚洲一区二区三区视频| 久久精品视频免费播放| 欧美成人三级视频网站| 77777亚洲午夜久久多人| 91免费看片网站| 91香蕉嫩草神马影院在线观看| 久久亚洲精品一区| 国产成人精品久久二区二区| 视频在线观看一区二区| 亚洲一区国产精品| 国产精品吹潮在线观看| 中文字幕精品国产| 久久精品久久久久久| 国色天香2019中文字幕在线观看| 亚洲综合色av| 亚洲级视频在线观看免费1级| 欧美成人免费视频| 欧美激情精品久久久久久蜜臀| 亚洲一区中文字幕| 色综合导航网站| 丰满岳妇乱一区二区三区| 欧美国产高跟鞋裸体秀xxxhd| 搡老女人一区二区三区视频tv| 韩国美女主播一区| 欧美精品一区二区三区国产精品| 亚洲精品动漫久久久久| 国产精品美女久久久免费| 欧美性猛交xxxx乱大交| 中文字幕一区日韩电影| 亚洲成色www8888| 国产精品扒开腿做爽爽爽的视频| 91av国产在线| 欧美日韩亚洲高清| 欧美激情a∨在线视频播放| 亚洲精品成人网| www.亚洲男人天堂| 国产亚洲精品美女久久久久| 91高清视频在线免费观看| 国产视频精品在线| 欧美成人一区二区三区电影| 国产98色在线| 欧美国产日韩xxxxx| 欧美一区二区.| 国产精品久久国产精品99gif| 亚洲欧美综合v| 中文字幕免费精品一区| 欧美日韩国产成人| 亚洲欧美精品中文字幕在线| 国产精品久久综合av爱欲tv| 国产精品情侣自拍| 成人深夜直播免费观看| 91人成网站www| 91精品视频一区| 国产做受69高潮| 久久九九精品99国产精品| 欧美激情综合色综合啪啪五月| 日韩高清不卡av| 亚洲免费电影在线观看| 欧美伊久线香蕉线新在线| 奇米4444一区二区三区| 久久人91精品久久久久久不卡| 亚洲人成电影在线| 久久久成人精品视频| 91啪国产在线| 国产午夜精品视频免费不卡69堂| 亚洲精品一区二区三区不| 国产精品永久免费观看| 国产精品视频不卡| 欧美国产日韩一区二区在线观看| 日韩精品视频在线观看免费| 精品成人国产在线观看男人呻吟| xxxx欧美18另类的高清| 国产美女精彩久久| 91精品国产91久久久久久吃药| 国产精品国产亚洲伊人久久| 国产精品va在线播放| 国产日韩av在线播放| 中文字幕久热精品视频在线| 久久久视频在线| 成人免费大片黄在线播放| 川上优av一区二区线观看| 欧美巨乳在线观看| 国产成+人+综合+亚洲欧洲| 久久久亚洲影院你懂的| 亚洲成人aaa| 成人黄色短视频在线观看| 日韩免费视频在线观看| 少妇高潮久久久久久潘金莲| 在线观看久久av| 国产成人鲁鲁免费视频a| 亚洲精品在线91| 一本一本久久a久久精品综合小说| 亚洲精品一区中文字幕乱码| 亚洲精品小视频| 欧美一级电影在线| 亚洲人成77777在线观看网| 亚洲国产精品久久精品怡红院| 国产欧美日韩精品在线观看| 在线亚洲午夜片av大片| 久久久久久久久国产| 亚洲国产精品国自产拍av秋霞| 亚洲美女www午夜| 日韩成人在线免费观看| 日韩成人激情在线| 久久偷看各类女兵18女厕嘘嘘| 日韩av网站在线| 亚洲视频在线免费观看| 日韩av资源在线播放| 国产精品久久一区| 欧洲美女免费图片一区| 国产精品91久久久| 中文综合在线观看| 久久视频在线直播| 欧美二区乱c黑人| 国产精品日韩电影| 精品久久久久国产| 亚洲理论片在线观看| 精品国产乱码久久久久久婷婷| 66m—66摸成人免费视频| 欧美成人免费一级人片100| 国产日韩在线亚洲字幕中文| 久久久久久久久久久网站| 亚洲韩国欧洲国产日产av| 成人av电影天堂| 久久这里有精品| 亚洲成人教育av| 亚洲最大激情中文字幕| 国产精品96久久久久久又黄又硬| 日韩在线观看av| 青青草国产精品一区二区| 国产婷婷97碰碰久久人人蜜臀| 国模视频一区二区三区| 亚洲一区免费网站| 亚洲精品白浆高清久久久久久| 亚洲欧洲在线看| 亚洲欧美一区二区精品久久久| 欧美成人国产va精品日本一级| 2019中文字幕免费视频| 在线播放精品一区二区三区| 亚洲欧洲在线观看| 欧美多人乱p欧美4p久久| 欧美一级淫片aaaaaaa视频| 日本成人免费在线| 欧美最顶级丰满的aⅴ艳星| 成人精品一区二区三区电影黑人| 992tv成人免费视频| 精品国产一区二区在线| 亚洲国产99精品国自产| 97色在线视频| 91久久夜色精品国产网站| 久久躁日日躁aaaaxxxx| xxx成人少妇69| 日本精品久久中文字幕佐佐木| 欧美高清视频一区二区| 日产精品久久久一区二区福利| 欧美精品情趣视频| 欧美一乱一性一交一视频| 疯狂蹂躏欧美一区二区精品| 亚洲视频在线观看| 久久久久久久久国产|