摘要:
許多計算機系統(tǒng)對數(shù)據(jù)類型的合法地址做了一些限制,要求某種數(shù)據(jù)類型對象的地址必須是某個值K(2,4,8)的倍數(shù),這種堆積限制簡化形成了處理器和存儲器系統(tǒng)之間接口的硬件設(shè)計,總之就是為了方便高效的讀取數(shù)據(jù),于是就有了數(shù)據(jù)對齊。struct S1{ char k; double i; char c; };Sizeof(S1)的值為24,而不是10,其原因就是數(shù)據(jù)對齊,如果是連續(xù)的存每個字段的值,那么double類型的i就可能分配在兩個8字節(jié)的存儲器塊中,那么可能就要執(zhí)行兩次存儲器訪問,而現(xiàn)在的內(nèi)存分配至這樣的,k,i,c都占用8個字節(jié),這樣訪問1次存儲器就能得到double類型的i的值。... 閱讀全文
posted @ 2012-10-03 22:38
古文觀芷
閱讀(4153)
評論(9)
推薦(0)
浙公網(wǎng)安備 33010602011771號