strlen與sizeof的區(qū)別
該類型保證能容納實(shí)現(xiàn)所建立的最大對(duì)象的字節(jié)大小。2.sizeof是算符,strlen是函數(shù)。
3.sizeof可以用類型做參數(shù),
本文引用地址:http://www.biyoush.com/article/201611/322230.htm4.數(shù)組做
5.大部分編譯程序在編譯的時(shí)候就把
char
int
int
6.strlen的結(jié)果要在運(yùn)行的時(shí)候才能計(jì)算出來(lái),是用來(lái)計(jì)算字符串的實(shí)際長(zhǎng)度,不是類型占內(nèi)存的大小。
7.sizeof后如果是類型必須加括弧,如果是變量名可以不加括弧。這是因?yàn)?br />
8.當(dāng)適用了于一個(gè)結(jié)構(gòu)類型時(shí)或變量,
9.數(shù)組作為參數(shù)傳給函數(shù)時(shí)傳的是指針而不是數(shù)組,傳遞的是數(shù)組的首地址,
如:
fun(char
fun(char
都等價(jià)于
在C++
如果想在函數(shù)內(nèi)知道數(shù)組的大小,
進(jìn)入函數(shù)后用memcpy
fun(unsiged
{
}
我們能常在用到
看了上面的詳細(xì)解釋,發(fā)現(xiàn)兩者的使用還是有區(qū)別的,從這個(gè)例子可以看得很清楚:
har
int
i
上面是對(duì)靜態(tài)數(shù)組處理的結(jié)果,如果是對(duì)指針,結(jié)果就不一樣了
char*
sizeof(ss)
sizeof(*ss)
另外,
int
cout
評(píng)論