以文本方式查看主題

-  曙海教育集團論壇  (http://www.scb-ycwb.com/bbs/index.asp)
--  C語言開發  (http://www.scb-ycwb.com/bbs/list.asp?boardid=62)
----  各位對C語言結構中成員的對齊(alignment)怎樣理解?  (http://www.scb-ycwb.com/bbs/dispbbs.asp?boardid=62&id=2412)

--  作者:wangxinxin
--  發布時間:2010-12-10 11:47:29
--  各位對C語言結構中成員的對齊(alignment)怎樣理解?
本來覺得自已很清楚了,后來看到一個例子,又糊涂了。先看一個WATCOM給出的表:(ZP1表示按一個字符對齊) 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:(毫無疑問) 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結果都一樣: 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 如果再把成員改一個長整類型, typedef struct memo_el { char date[9]; struct memo_el *prev,*next; long int ref_number; char sex; } memo; 結果在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 現在我無法解釋了~
主站蜘蛛池模板: 成人黄18免费视频| 国产肉体xxxx裸体137大胆| 中文成人无字幕乱码精品区| 晚上差差差软件下载| 亚洲成年人电影网站| 波多野结衣中文字幕电影 | 91精品欧美一区二区综合在线| 婷婷人人爽人人爽人人片| 中文字幕在线不卡| 日本无遮挡漫画| 久久天天躁狠狠躁夜夜网站| 最近2019中文字幕mv免费看| 亚洲专区中文字幕| 欧美激情综合色综合啪啪五月| 人人澡人人澡人人澡| 男男gay做爽爽的视频免费| 午夜人妻久久久久久久久| 色噜噜在线观看| 国产一级一级一级成人毛片| 触手强制h受孕本子里番| 国产你懂的在线观看| 韩国三级中文字幕hd久久精品| 国产在线精品无码二区二区| 黄在线观看在线播放720p| 国产成人精品一区二区三区无码| 免费在线视频你懂的| 国产男女插插一级| 日本aⅴ日本高清视频影片www| 国产毛片久久久久久国产毛片| 亚洲精品一二区| 国产成年网站v片在线观看| 国产卡一卡二卡3卡4卡无卡视频| 国产欧美另类久久精品91| 久久精品这里有| 国产成人久久精品一区二区三区 | 精品蜜臀久久久久99网站| 和搜子居的日子2中文版| 美女被a到爽视频在线观看| 又黄又爽又色又刺激的视频| 精品国产亚洲第一区二区三区| 四虎影在线永久免费观看|