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