欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

C語言中的sizeof()和strlen()的區(qū)別 - 新聞資訊 - 云南小程序開發(fā)|云南軟件開發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開發(fā)/軟件開發(fā)

知識

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!

您當(dāng)前位置>首頁 » 新聞資訊 » 技術(shù)分享 >

C語言中的sizeof()和strlen()的區(qū)別

發(fā)表時間:2020-10-19

發(fā)布人:葵宇科技

瀏覽次數(shù):123

C說話中的sizeof()和strlen()的差別

sizeof()和strlen()經(jīng)常會被初學(xué)者混淆,但個中有有很大年夜差別:

1.sizeof()【操作數(shù)所占空間的字節(jié)數(shù)大年夜小】是一種c中的根本運(yùn)算符。
可以以類型、指針、數(shù)組和函數(shù)等作為參數(shù)。
頭文件類型為unsigned int。
運(yùn)算值袈溱編譯的時刻就出結(jié)不雅,所以可以用來定義數(shù)組維數(shù)。

char a[5]="123";
int b=sizeof(a);//b=5
int c=strlen(a);//c=3

sizeof()是一種單目操作符,是用來計算你所應(yīng)用的操作數(shù)所占的空間字節(jié)大年夜小。

2.strlen()[計舉動當(dāng)作符串的長度]是一種函數(shù)。//"\0"作為終止符;
strlen的結(jié)不雅運(yùn)行的時刻才出來,是計舉動當(dāng)作符串長度的。
其參數(shù)必須是字符型指針(char*)。
函數(shù)聲明為 內(nèi)聯(lián)代碼片。頭文件#include<string.h>


size_t strlen(const char *str)//size_t()

在這里插入圖片描述以下是一些具體的實例(vs2013 設(shè)置為32位):

int main()
{
	char *p = "hello";
	char arr1 []= "hello";
	char arr2[] = { 'h', 'e', 'l', 'l', 'o' };
	printf("%d\n", sizeof( p));
	//結(jié)不雅4,因為指針變量的所占空間大年夜小僅僅和操作體系位數(shù)有關(guān)32-4,64-8
	printf("%d\n", sizeof(arr1));
	//結(jié)不雅6,字符串默認(rèn)以\0結(jié)尾,sizeof()包含\0的計算
	printf("%d\n", sizeof(arr2));
	//結(jié)不雅為5,因為為字符型表示,并不含有\(zhòng)0(僅僅字符串有\(zhòng)0)
	printf("%d\n", strlen( p));
	//結(jié)不雅為5,strlen求的是字符串的長度,不包含\0
	printf("%d\n", strlen(arr1));
	//結(jié)不雅為5,strlen求的是字符串的長度,不包含\0
	printf("%d\n", strlen(arr2));
	//因為字符型不包含\0,但字符串須要找到\0才可停止,所以在'o'之后持續(xù)向后攫取直到找到\0,所所以一個隨機(jī)值

法度榜樣運(yùn)行結(jié)不雅如上結(jié)不雅如上;
在這里插入圖片描述設(shè)置為32位操作體系

相關(guān)案例查看更多