C語言中的sizeof是一個(gè)很有意思的關(guān)鍵字,經(jīng)常有人用不對(duì),搞不清不是什么。我以前也有用錯(cuò)的時(shí)候,現(xiàn)在寫一寫,也算是提醒一下自己吧。反正現(xiàn)在來看,還在搞sizeof是什么意思,怎么用正確,還是有點(diǎn)搞笑,都經(jīng)常用的東西,沒有理解透徹,就差的太遠(yuǎn)了。
在平度等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營(yíng)銷型網(wǎng)站,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),平度網(wǎng)站建設(shè)費(fèi)用合理。
一?sizeof是什么
sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等,sizeof操作符以字節(jié)形式給出了其操作數(shù)的存儲(chǔ)大小。操作數(shù)可以是一個(gè)表達(dá)式或括在括號(hào)內(nèi)的類型名。這個(gè)操作數(shù)不好理解對(duì)吧?后面慢慢看就明白了。sizeof的返回值是size_t,在64位機(jī)器下,被定義為longunsignedint。
二sizeof如何使用
1、用于數(shù)據(jù)類型
使用形式:sizeof(type)。其中type如int、double等。例如sizeof(int)、sizeof(char*)、sizeof(double)。這個(gè)時(shí)候sizeof后面的類型必須用括號(hào)()包起來,不包起來是錯(cuò)誤的,通過不了編譯。其中sizeof(void*)在64位下是8,而sizeof(void)是1。其實(shí),在C語言中sizeof(函數(shù)),
如sizeof(main),結(jié)果也是1。但是在C++中,sizeof(void)和sizeof(函數(shù))都是非法的,通過不了編譯,后面C++就不說了,現(xiàn)在講C嘛。其實(shí)sizeof(函數(shù)),sizeof(void)雖然是1,但是是不正確的使用方式。
2、用于變量?
使用形式:sizeof(var)或sizeofvar。當(dāng)操作基本數(shù)據(jù)類型的時(shí)候,在我64位電腦的結(jié)果如下
作用是:計(jì)算常量、變量、數(shù)據(jù)類型在內(nèi)存中占用的字節(jié)數(shù)
三、用sizeof計(jì)算常量在內(nèi)存中占用的字節(jié)數(shù)
sizeof(1)計(jì)算常量1在內(nèi)存中占用的字節(jié)數(shù)?4
1默認(rèn)的事一個(gè)10進(jìn)制的整數(shù)(int)4
sizeof(2.3f);計(jì)算float類型的常量在內(nèi)存中占用的字節(jié)數(shù)4
sizeof(2.3);?計(jì)算double類型的常量在內(nèi)存中占用的字節(jié)數(shù)8
sizeof('a');?計(jì)算'a'字符常量在內(nèi)存中占用的字節(jié)數(shù)?1?4?
sizeof是C語言中保留關(guān)鍵字,也可以認(rèn)為是一種運(yùn)算符,單目運(yùn)算符。常見的使用方式:
int a=10;
int arr=[1,2,3];
char str[]="hello";
int len_a = sizeof(a);
int len_arr = sizeof(arr);
int len_str = sizeof(str)
printf("len_a=%d,len_arr=%d,len_str=%d\n",len_a,len_arr,len_str)
結(jié)果是:len_a=4,len_arr=12,len_str=6
擴(kuò)展資料:
在 Pascal 語言中,sizeof() 是一種內(nèi)存容量度量函數(shù),功能是返回一個(gè)變量或者類型的大小(以字節(jié)為單位)。
在 C 語言中,sizeof() 是一個(gè)判斷數(shù)據(jù)類型或者表達(dá)式長(zhǎng)度的運(yùn)算符。
在Pascal 語言與C語言中,對(duì) sizeof() 的處理都是在編譯階段進(jìn)行。
sizeof是C/C++中的一個(gè)操作符(operator),簡(jiǎn)單的說其作用就是返回一個(gè)對(duì)象或者類型所占的內(nèi)存字節(jié)數(shù)。
MSDN上的解釋為:
The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type(including aggregate types). This keyword returns a value of type size_t.
參考資料:
百度百科-sizeof
1、首先打開VS,新建一個(gè) 使用sizeof求出數(shù)組的大小 project。
2、接著在左側(cè)文件樹添加一個(gè)?sizeof.c 源文件。
3、其里面有stdio.h和stdlib.h頭文件,也可自己輸入。
4、然后輸入main函數(shù)主體及返回值。
5、定義一個(gè)數(shù)組,使用sizeof計(jì)算出數(shù)組的大小。
6、最后編譯運(yùn)行程序,便能輸出數(shù)組的大小。
文章標(biāo)題:sizeof函數(shù)C語言 sizeof的用法c語言
鏈接分享:http://sd-ha.com/article20/doijgco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)