說(shuō)明:如果您有任何疑問(wèn)或想咨詢其他業(yè)務(wù)請(qǐng)撥打電話 400 685 0732
全網(wǎng)監(jiān)測(cè)海量數(shù)據(jù)按需發(fā)布監(jiān)測(cè)預(yù)警
實(shí)時(shí)把握輿情動(dòng)態(tài)精準(zhǔn)追溯信息源頭
sizeof函數(shù)是pascal語(yǔ)言當(dāng)中的一種內(nèi)存容量度量的函數(shù),這一個(gè)函數(shù)計(jì)算得到的結(jié)果是返回一個(gè)變量或者一個(gè)類型的大小;在c語(yǔ)言當(dāng)中,sizeof函數(shù)這是一個(gè)能夠判斷數(shù)據(jù)類型,或者是表達(dá)式長(zhǎng)度的一個(gè)運(yùn)算公式,可是對(duì)于剛函數(shù)要如何使用呢?接下來(lái)我們就一起來(lái)好好的了解一下吧。
sizeof函數(shù)怎么用——Sizeof與Strlen的區(qū)別與聯(lián)系
1.sizeof操作符的結(jié)果類型是size_t,它在頭文件中typedef為unsignedint類型。該類型保證能容納實(shí)現(xiàn)所建立的最大對(duì)象的字節(jié)大小。
2.sizeof是算符,strlen是函數(shù)。
3.sizeof可以用類型做參數(shù),strlen只能用char*做參數(shù),且必須是以”\0”結(jié)尾的。sizeof還可以用函數(shù)做參數(shù),比如:shortf();printf(“%d\n”,sizeof(f()));輸出的結(jié)果是sizeof(short),即2。
4.數(shù)組做sizeof的參數(shù)不退化,傳遞給strlen就退化為指針了。
5.大部分編譯程序在編譯的時(shí)候就把sizeof計(jì)算過(guò)了是類型或是變量的長(zhǎng)度這就是sizeof(x)可以用來(lái)定義數(shù)組維數(shù)的原因charstr[20]=”0123456789″;inta=strlen(str);//a=10;intb=sizeof(str);//而b=20;
6.strlen的結(jié)果要在運(yùn)行的時(shí)候才能計(jì)算出來(lái),時(shí)用來(lái)計(jì)算字符串的長(zhǎng)度,不是類型占內(nèi)存的大小。
7.sizeof后如果是類型必須加括弧,如果是變量名可以不加括弧。這是因?yàn)閟izeof是個(gè)操作符不是個(gè)函數(shù)。
8.當(dāng)適用了于一個(gè)結(jié)構(gòu)類型時(shí)或變量,sizeof返回實(shí)際的大小,當(dāng)適用一靜態(tài)地空間數(shù)組,sizeof歸還全部數(shù)組的尺寸。sizeof操作符不能返回動(dòng)態(tài)地被分派了的數(shù)組或外部的數(shù)組的尺寸
9.數(shù)組作為參數(shù)傳給函數(shù)時(shí)傳的是指針而不是數(shù)組,傳遞的是數(shù)組的首地址。
sizeof函數(shù)怎么用–sizeof函數(shù)的使用方法
1.sizeof函數(shù)定義:
sizeof是何方神圣sizeof乃C/C++中的一個(gè)操作符(operator)是也,簡(jiǎn)單的說(shuō)其作用就是返回一個(gè)對(duì)象或者類型所占的內(nèi)存字節(jié)數(shù)。
2.sizeof函數(shù)
語(yǔ)法:
sizeof有三種語(yǔ)法形式,如下:
1)sizeof(object);//sizeof(對(duì)象);
2)sizeof(type_name);//sizeof(類型);
3)sizeofobject;//sizeof對(duì)象;
所以,
inti;
sizeof(i);//ok
sizeofi;//ok
sizeof(int);//ok
sizeof
int;//error
實(shí)際上,sizeof計(jì)算對(duì)象的大小也是轉(zhuǎn)換成對(duì)對(duì)象類型的計(jì)算,也就是說(shuō),同種類型的不同對(duì)象其sizeof值都是一致的。這里,對(duì)象可以進(jìn)一步延伸至表達(dá)式,即sizeof可以對(duì)一個(gè)表達(dá)式求值,編譯器根據(jù)表達(dá)式的最終結(jié)果類型來(lái)確定大小,一般不會(huì)對(duì)表達(dá)式進(jìn)行計(jì)算。如:
sizeof(2);//2的類型為int,所以等價(jià)于sizeof(int);sizeof(2+3.14);//3.14的類型double,2也會(huì)被提升成double類型,所以等價(jià)于sizeof(double);
sizeof也可以對(duì)一個(gè)函數(shù)調(diào)用求值,其結(jié)果是函數(shù)返回類型的大小,函數(shù)并不會(huì)被調(diào)用。
以上就是有關(guān)sizeof函數(shù)怎么用 sizeof函數(shù)如何使用的所有內(nèi)容,在實(shí)際工作當(dāng)中,這一個(gè)函數(shù)是經(jīng)常用到的,所以對(duì)于它的使用大家最好進(jìn)行相關(guān)的了解和掌握,這樣對(duì)以后的工作也會(huì)有一定的幫助的。如果你想了解更多的內(nèi)容,歡迎關(guān)注我們的文軍營(yíng)銷的官網(wǎng)。
推薦閱讀
說(shuō)明:如果您有任何疑問(wèn)或想咨詢其他業(yè)務(wù)請(qǐng)撥打電話 400 685 0732