c語言strlen用法 C語言中strlen與sizeof的區(qū)別是什么?
C語言中strlen與sizeof的區(qū)別是什么?strlen和sizeof之間的具體區(qū)別如下:1。Strlen是C語言庫(kù)函數(shù)之一;sizeof是運(yùn)算符,也是C語言關(guān)鍵字之一。2. strlen函數(shù)用于
C語言中strlen與sizeof的區(qū)別是什么?
strlen和sizeof之間的具體區(qū)別如下:
1。Strlen是C語言庫(kù)函數(shù)之一;sizeof是運(yùn)算符,也是C語言關(guān)鍵字之一。
2. strlen函數(shù)用于計(jì)算字符串長(zhǎng)度,參數(shù)為char*type。聲明為
int strlen(const char*s)
計(jì)算從s到字符串“0”結(jié)尾的所有元素的數(shù)目,不包括0。
操作對(duì)象的大小可以是任何變量或類型,計(jì)算結(jié)果是變量或類型占用的實(shí)際長(zhǎng)度(內(nèi)存字節(jié)數(shù))。
3. Strlen是一個(gè)函數(shù),其后續(xù)參數(shù)必須在括號(hào)中;
sizeof在計(jì)算變量占用的字節(jié)數(shù)時(shí)可以使用括號(hào),也可以不使用括號(hào),但在計(jì)算數(shù)據(jù)類型占用的字節(jié)數(shù)時(shí)必須使用。
4. 以字符串為例,說明了它們之間的區(qū)別:
(1)將char s[10]=“ABCD”
strlen(s)定義為字符串的長(zhǎng)度,即實(shí)際字符數(shù)。結(jié)果是4。
sizeof(s)是數(shù)組的大小,值是10。
(2)define char*s=“ABCD”
strlen(s)和strlen(“ABCD”)相同,都是4。
Sizeof(s)是指針占用的空間,它取決于機(jī)器字的長(zhǎng)度。在32位計(jì)算機(jī)中,值為4。
sizeof(“ABCD”)是字符串的實(shí)際內(nèi)存大小,包括“0”,值為5。
c語言length求的是實(shí)際長(zhǎng)度還是?
C語言一般使用strlen函數(shù)和sizeof運(yùn)算符來計(jì)算長(zhǎng)度。Strlen用于計(jì)算字符串的實(shí)際長(zhǎng)度,不包括字符串末尾的終止符“0”;sizeof用于計(jì)算數(shù)據(jù)類型或表達(dá)式的長(zhǎng)度,即內(nèi)存中的大小。
c語言的size of,strlen什么意思?
Sizeof函數(shù)用于計(jì)算數(shù)據(jù)空間中的字節(jié)數(shù);
strlen函數(shù)用于計(jì)算字符數(shù)組中的字符數(shù),以“0”作為結(jié)束判斷,不包括結(jié)束字符“0”。
示例如下:
int a
char b[]=“ABCD”
printf(%d”,sizeof(a))//輸出變量a占用的內(nèi)存字節(jié),輸出4
printf(%d”,sizeof(b))//輸出字符數(shù)組b占用的內(nèi)存字節(jié),輸出5(5=4,1,1是綁定字符占用的內(nèi)存)
printf(%d”,strlen(b))//輸出字符數(shù)組b中的字符數(shù),輸出4(不包括結(jié)束字符“”0)