曙海教育集團(tuán)論壇開發(fā)語(yǔ)言培訓(xùn)專區(qū)C語(yǔ)言開發(fā) → 各位對(duì)C語(yǔ)言結(jié)構(gòu)中成員的對(duì)齊(alignment)怎樣理解?


  共有9707人關(guān)注過(guò)本帖樹形打印

主題:各位對(duì)C語(yǔ)言結(jié)構(gòu)中成員的對(duì)齊(alignment)怎樣理解?

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
各位對(duì)C語(yǔ)言結(jié)構(gòu)中成員的對(duì)齊(alignment)怎樣理解?  發(fā)帖心情 Post By:2010-12-10 11:47:29

本來(lái)覺(jué)得自已很清楚了,后來(lái)看到一個(gè)例子,又糊涂了。先看一個(gè)WATCOM給出的表:(ZP1表示按一個(gè)字符對(duì)齊) zp1 zp2 zp4 zp8 zp16 sizeof(member) \--------------------------------------- 1 | 0 0 0 0 0 2 | 0 2 2 2 2 4 | 0 2 4 4 4 8 | 0 2 4 8 8 16 | 0 2 4 8 16 x | aligned to largest member 看一段代碼: #include #include typedef struct memo_el { char date[9]; struct memo_el *prev,*next; int ref_number; char sex; } memo; main( ) { printf( "Offset of %s is %d\n", "date", offsetof( memo, date ) ); printf( "Offset of %s is %d\n", "prev", offsetof( memo, prev ) ); printf( "Offset of %s is %d\n", "next", offsetof( memo, next ) ); printf( "Offset of %s is %d\n", "ref_number", offsetof( memo, ref_number ) ); printf( "Offset of %s is %d\n", "sex", offsetof( memo, sex ) ); printf( "Size of %s is %d\n", "memo", sizeof( memo ) ); printf( "Number of padding bytes is %d\n", sizeof( memo ) - (offsetof( memo, sex ) + sizeof( char )) ); return 0; } 輸出: 16位zp1:(毫無(wú)疑問(wèn)) Offset of date is 0 Offset of prev is 9 Offset of next is 11 Offset of ref_number is 13 Offset of sex is 15 Size of memo is 16 Number of padding bytes is 0 16位 zp2、4、8結(jié)果都一樣: Offset of date is 0 Offset of prev is 10 Offset of next is 12 Offset of ref_number is 14 Offset of sex is 16 Size of memo is 18 Number of padding bytes is 1 如果再把成員改一個(gè)長(zhǎng)整類型, typedef struct memo_el { char date[9]; struct memo_el *prev,*next; long int ref_number; char sex; } memo; 結(jié)果在16位ZP2-8都是這樣: Offset of date is 0 Offset of prev is 10 Offset of next is 12 Offset of ref_number is 16 Offset of sex is 20 Size of memo is 24 Number of padding bytes is 3 現(xiàn)在我無(wú)法解釋了~

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

各位對(duì)C語(yǔ)言結(jié)構(gòu)中成員的對(duì)齊(alignment)怎樣理解?








簽名
主站蜘蛛池模板: 国产精品亚洲片在线花蝴蝶| 国产99久久九九精品无码| 欧美综合一区二区三区| baoyu122.永久免费视频| 免费精品国产日韩热久久| 在线播放免费人成视频在线观看| 男女下面无遮挡一进一出| t66y最新地址一地址二地址三| 免费特黄一区二区三区视频一 | 99国产精品永久免费视频| 亚洲综合伊人久久大杳蕉| 国产精品香港三级国产电影| 欧美一级视频在线高清观看| 野花社区在线观看www| 一级毛片在线播放免费| 亚洲欧美日韩中文字幕久久| 国产性生大片免费观看性| 宅男66lu国产乱在线观看| 欧美一级va在线视频免费播放| 色狠狠一区二区三区香蕉| 99久久国语露脸精品国产| 久久精品无码精品免费专区| 免费又黄又爽又猛的毛片| 国产手机在线αⅴ片无码观看| 少妇人妻偷人精品一区二区| 曰批视频免费40分钟试看天天| 精品久久久久久久久久中文字幕 | 色狠狠一区二区三区香蕉蜜桃| 一级黄色免费大片| 久久精品国产精品国产精品污| 伊人色综合网一区二区三区 | 美女把尿口扒开让男人桶| 99无码精品二区在线视频| 乱码卡一卡二卡新区在线| 午夜欧美精品久久久久久久| 国产精品美女一区二区三区| 日本xxx在线播放| 欧美日韩国产专区| 老师你好电影高清完整版在线观看 | 波多野结衣日本电影| 西西人体www44rt大胆高清|