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