久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久

以文本方式查看主題

-  曙海教育集團論壇  (http://www.xinguifushi.cn/bbs/index.asp)
--  C語言開發  (http://www.xinguifushi.cn/bbs/list.asp?boardid=62)
----  各位對C語言結構中成員的對齊(alignment)怎樣理解?  (http://www.xinguifushi.cn/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 現在我無法解釋了~
主站蜘蛛池模板: 久草久草久草 | 欧美日韩亚洲视频 | 日韩一区国产二区欧美三区 | 成年人免费黄色 | 欧美大片aaa | 欧美性三级 | 国产成人一区二区三区在线视频 | 视频一区中文字幕 | 国产成人一区二区三中文 | 欧美一区二区在线视频 | 国产亚洲精品自在线观看 | 欧美成人三级伦在线观看 | 国产一区二区三区免费在线视频 | 欧美操操操操 | 亚洲在线精品 | 一级特黄特黄毛片欧美的 | 美国大毛片 | 国产成人毛片视频不卡在线 | 成人黄色免费网址 | 三级毛片子 | 国产女女视屏免费 | 国产精品线在线精品 | 欧美亚洲国产成人高清在线 | 一区二区三区四区五区六区 | 亚洲欧美日韩精品久久亚洲区 | 玖草| 又黄又免费的网站 | 美女张开腿让男人桶爽免费网站 | 亚洲怡红院在线 | 久久久一区二区三区 | 免费播放毛片 | 高颜值美女啪啪 | 久久99综合国产精品亚洲首页 | 黄色毛片视频在线观看 | 国内一区二区 | 在线免费公开视频 | 一级欧美视频 | 99在线免费 | 韩国一级毛片大全女教师 | 亚洲一区二区三区不卡视频 | 久久久久久久久久毛片精品美女 |