国产亚洲综合精品一区二区三区_亚洲永久网址在线观看_亚洲色大成网站www久久九_国产亚洲AV夜间福利香蕉149

C語(yǔ)言的那些小秘密之字節(jié)對(duì)齊

2015-04-29 14:51 來(lái)源:電子信息網(wǎng) 作者:風(fēng)鈴

C語(yǔ)言其實(shí)是一門很簡(jiǎn)單的學(xué)科,但是也是一門很神秘的學(xué)科,各類代碼拼接到一起就能實(shí)現(xiàn)各種各樣的功能。我們知道,由于硬件平臺(tái)之間對(duì)存儲(chǔ)空間的處理上是有很大不同的,一些平臺(tái)對(duì)某些特定類型的數(shù)據(jù)只能從某些特定地址開(kāi)始存取,如通常有些架構(gòu)的CPU要求在編程時(shí)必須保證字節(jié)對(duì)齊,否則訪問(wèn)一個(gè)沒(méi)有進(jìn)行字節(jié)對(duì)齊的變量的時(shí)候會(huì)發(fā)生錯(cuò)誤。

然而,有些平臺(tái)可能沒(méi)有上述的情況,但是通常的情況是如果我們編程的時(shí)候不按照適合其平臺(tái)要求對(duì)數(shù)據(jù)存放進(jìn)行對(duì)齊,會(huì)在存取效率上帶來(lái)?yè)p失。比如有些平臺(tái)每次讀都是從偶地址開(kāi)始,如我們操作一個(gè)int型數(shù)據(jù),如果存放在偶地址開(kāi)始的地方,那么一個(gè)讀周期就可以讀出,而如果存放在奇地址開(kāi)始的地方,就可能會(huì)需要2個(gè)讀周期,兩個(gè)周期讀取出來(lái)的字節(jié)我們還要對(duì)它們進(jìn)行高低字節(jié)的拼湊才能得到該int型數(shù)據(jù),從而使得我們的讀取效率較低,這也從側(cè)面反映出了一個(gè)問(wèn)題,就是我們很多時(shí)候是在犧牲空間來(lái)節(jié)省時(shí)間的。

可能通過(guò)上面的講解您還是不太明白C語(yǔ)言,那我們?cè)賮?lái)看一下什么是字節(jié)對(duì)齊呢?我們現(xiàn)在的計(jì)算機(jī)中內(nèi)存空間都是按照字節(jié)來(lái)進(jìn)行劃分的,從理論上來(lái)講的話似乎對(duì)任何類型的變量的訪問(wèn)可以從任何地址開(kāi)始,然而值得注意的就是,實(shí)際情況下在訪問(wèn)特定變量的時(shí)候經(jīng)常在特定的內(nèi)存地址訪問(wèn),從而就需要各種類型的數(shù)據(jù)按照一定的規(guī)則在空間上排列,而不是順序的一個(gè)接一個(gè)的排放,這就是對(duì)齊。

在此之前,不得不提的一個(gè)操作符就是sizeof,其作用就是返回一個(gè)對(duì)象或者類型所占的內(nèi)存字節(jié)數(shù)。我們?yōu)槭裁床辉诖朔Q之為sizeof()函數(shù)呢?看看下面一段代碼:

[html] view plaincopy#include

void print()

{

printf("hello world!\n");

return ;

}

void main()

{

printf("%d\n",sizeof(print()));

return ;

}

這段代碼在linux環(huán)境下我采用gcc編譯是沒(méi)有任何問(wèn)題的,對(duì)于void類型,其長(zhǎng)度為1,但是如果我們?cè)趘c6下面運(yùn)行的話話就會(huì)出現(xiàn)illegal sizeof operand錯(cuò)誤,所以我們稱之為操作符更加的準(zhǔn)確些,既然是操作符,那么我們來(lái)看看它的幾種使用方式:

1、sizeof( object ); // sizeof( 對(duì)象 );

2、 sizeof( type_name ); // sizeof( 類型 );

3、sizeof object; // sizeof 對(duì)象; 通常這種寫法我們?cè)诖a中都不會(huì)使用,所以很少見(jiàn)到。

下面來(lái)看段代碼加深下印象:

[html] view plaincopy#include

void main()

{

int i;

printf("sizeof(i):\t%d\n",sizeof(i));

printf("sizeof(4):\t%d\n",sizeof(4));

printf("sizeof(4+2.5):\t%d\n",sizeof(4+2.5));

printf("sizeof(int):\t%d\n",sizeof(int));

printf("sizeof 5:\t%d\n",sizeof 5);

return ;

}

運(yùn)行結(jié)果為:

圖片1

[html] view plaincopysizeof(i): 4

sizeof(4): 4

sizeof(4+2.5): 8

sizeof(int): 4

sizeof 5: 4

Press any key to continue

從運(yùn)行結(jié)果我們可以看出上面的幾種使用方式,實(shí)際上,sizeof計(jì)算對(duì)象的大小也是轉(zhuǎn)換成對(duì)對(duì)象類型的計(jì)算,也就是說(shuō),同種類型的不同對(duì)象其sizeof值都是一樣的。從給出的代碼中我們也可以看出sizeof可以對(duì)一個(gè)表達(dá)式求值,編譯器根據(jù)表達(dá)式的最終結(jié)果類型來(lái)確定大小,但是一般不會(huì)對(duì)表達(dá)式進(jìn)行計(jì)算或者當(dāng)表達(dá)式為函數(shù)時(shí)并不執(zhí)行函數(shù)體。如:

[html] view plaincopy#include

int print()

{

printf("Hello bigloomy!");

return 0;

}

void main()

{

printf("sizeof(print()):\t%d\n",sizeof(print()));

return ;

}

運(yùn)行結(jié)果為:

圖片2

[html] view plaincopysizeof(print()): 4

Press any key to continue

1 2 3 > 
C語(yǔ)言 字節(jié)對(duì)齊

相關(guān)閱讀

暫無(wú)數(shù)據(jù)

一周熱門

国产亚洲综合精品一区二区三区_亚洲永久网址在线观看_亚洲色大成网站www久久九_国产亚洲AV夜间福利香蕉149

    亚洲成人福利片| www精品美女久久久tv| 久久久久久久国产精品影院| 一个色妞综合视频在线观看| 制服丝袜激情欧洲亚洲| 国产精品久久久久婷婷| 蜜臀av一级做a爰片久久| 久久夜色精品一区| 亚洲一本大道在线| 久久色在线观看| 日韩影视精彩在线| 久久久综合九色合综国产精品| 亚洲成人www| 久久久精品免费网站| 日本欧洲一区二区| 国产日产欧美一区| 欧美日韩在线播放一区| 1000精品久久久久久久久| 激情成人综合网| 一区二区中文字幕在线| 56国语精品自产拍在线观看| 一区二区三区资源| 99亚偷拍自图区亚洲| 午夜国产不卡在线观看视频| 国产喷白浆一区二区三区| 麻豆成人91精品二区三区| 欧美经典一区二区三区| 69堂成人精品免费视频| 午夜视频一区二区| 久久精品日韩一区二区三区| 欧美日韩一区不卡| 一区二区成人在线观看| 91麻豆精品在线观看| 欧美影片第一页| 一区二区三区在线免费| 99国产精品国产精品毛片| 欧美在线观看一区| 一区二区三区产品免费精品久久75| 成人激情开心网| 欧洲一区在线观看| 伊人一区二区三区| 久久九九99视频| 欧美高清精品3d| 日韩精品乱码av一区二区| 日本一二三四高清不卡| 日韩精品一区二区三区中文精品 | 国产亚洲精品7777| 在线播放视频一区| 日韩国产欧美在线视频| 国产精品视频一二三| 精品女同一区二区| 精品综合免费视频观看| 夜夜爽夜夜爽精品视频| 国产精品国模大尺度视频| www.日本不卡| 在线电影院国产精品| 婷婷亚洲久悠悠色悠在线播放| 国产精品成人一区二区艾草| 久久久亚洲精品一区二区三区| 国产一区二区三区av电影| 麻豆成人av在线| 艳妇臀荡乳欲伦亚洲一区| 国产精品国产三级国产普通话三级| 成人av综合在线| 欧美日韩高清一区二区三区| 日韩av一级片| 亚洲一区免费在线观看| 亚洲免费成人av| 国产精品美女视频| 国产清纯白嫩初高生在线观看91 | 久久精品视频一区二区三区| 欧美电影免费观看完整版| 久久99久久精品欧美| 五月婷婷另类国产| 亚洲成人先锋电影| 亚洲黄色av一区| 亚洲激情第一区| 亚洲视频狠狠干| 亚洲视频电影在线| 欧美国产欧美综合| 亚洲国产精品国自产拍av| 久久综合给合久久狠狠狠97色69| 欧美不卡一区二区三区四区| 国产精品一区一区三区| 欧美猛男超大videosgay| 久久99久久久久| 欧美日韩精品一区二区三区蜜桃| 蜜桃视频一区二区三区在线观看| 亚洲成人动漫精品| 日韩电影在线一区二区三区| 亚洲动漫第一页| 日欧美一区二区| 亚洲国产欧美日韩另类综合 | 久草精品在线观看| 欧美性色欧美a在线播放| 美女国产一区二区三区| 色94色欧美sute亚洲线路一久| 青青草国产成人99久久| 午夜激情久久久| 免费成人性网站| 欧美亚洲高清一区二区三区不卡| 久久精品国产99久久6| 欧美日韩中文精品| 国产精品自在在线| 日韩美一区二区三区| 成人app网站| 国产亚洲欧洲997久久综合| 国产欧美在线观看一区| 综合精品久久久| 亚洲欧美色一区| 婷婷丁香激情综合| 欧洲精品在线观看| 国产精品99久| 欧美精品一区二区三区高清aⅴ| 91美女在线看| 自拍偷拍亚洲激情| 亚洲综合丝袜美腿| 蜜桃精品视频在线观看| 69堂亚洲精品首页| 99re在线视频这里只有精品| 国产色综合久久| 亚洲手机成人高清视频| 亚洲va欧美va国产va天堂影院| 色先锋久久av资源部| 狠狠色综合日日| 欧美精品一区二区久久久| 国产清纯白嫩初高生在线观看91| 亚洲男人的天堂在线aⅴ视频| 亚洲国产精品一区二区www | 欧美无乱码久久久免费午夜一区| 国产精品一区二区三区99| 精品久久久网站| 国产精品久久久久9999吃药| 亚洲国产毛片aaaaa无费看| 欧美在线视频不卡| 9色porny自拍视频一区二区| 国产精品九色蝌蚪自拍| 亚洲自拍偷拍九九九| 精品一区二区三区欧美| 久久综合丝袜日本网| 国产精品女同互慰在线看| 五月综合激情网| 欧美一区二区三区在线| 欧美激情综合五月色丁香小说| 亚洲无人区一区| 欧美精品一级二级三级| 久久久91精品国产一区二区精品| 亚洲制服丝袜一区| 欧美日韩一区二区三区四区五区| www.欧美色图| 亚洲最新视频在线观看| 欧美日韩综合不卡| 国产亚洲精品bt天堂精选| 婷婷六月综合网| 精品久久久三级丝袜| 亚洲另类中文字| 国产在线乱码一区二区三区| 久久精品视频免费观看| 一区二区三区在线观看网站| 国产精一品亚洲二区在线视频| 中文字幕第一区第二区| 亚洲不卡av一区二区三区| 懂色av一区二区夜夜嗨| 亚洲欧洲日产国产综合网| 91久久精品一区二区三区| 99久久国产免费看| 午夜在线成人av| 欧美不卡123| 一区二区三区四区在线播放| 国产一区二区三区久久久| 国产精品免费人成网站| 色综合久久久久久久| aaa欧美大片| 丝袜亚洲另类欧美| 亚洲精品一区二区三区香蕉| 亚洲综合激情网| 97aⅴ精品视频一二三区| 午夜视频在线观看一区二区| 亚洲精品在线观看视频| 天天综合网 天天综合色| 26uuu色噜噜精品一区二区| 日韩黄色片在线观看| 久久久久综合网| 午夜精品aaa| 日本一区二区三区免费乱视频| 久久se这里有精品| 1000部国产精品成人观看| 欧美老女人第四色| 最新国产の精品合集bt伙计| 国产精品1区2区| 亚洲综合区在线| 精品99久久久久久| 在线观看三级视频欧美| 国产精品素人一区二区| 国产一区中文字幕| 亚洲一区二区视频在线观看| 久久综合色8888| 欧美亚洲国产bt| 玉足女爽爽91| 久久久久久免费网|