1,strlen函數(shù)
作用: 用于計算以空字符'\0'結尾的字符串的長度,即字符串中的字符個數(shù),不包括空字符本身。
返回值:strlen返回一個size_t類型的值,表示字符串中字符的數(shù)量。
注意事項:
- strlen 需要在運行時遍歷字符串,直到遇到空字符才停止計數(shù)。
- 如果字符串沒有以'\0' 結尾,strlen可能導致未定義的行為。
#include #include
int main() {char str[] = "Hello, World!";size_t length = strlen(str);
printf("Length of the string: %zu\n", length);
return 0;}
2,sizeof運算符
作用:用于獲取變量、數(shù)據(jù)類型或數(shù)組在內存中占用的字節(jié)數(shù)。
返回值:sizeof返回一個size_t類型的值,表示操作數(shù)占用的字節(jié)數(shù)。
注意事項:
- sizeof是在編譯時確定的,不需要運行時遍歷數(shù)據(jù)結構。
- 對數(shù)組使用sizeof可以獲取整個數(shù)組的大小,但對指針使用sizeof只能獲取指針本身的大小。
#include
int main() {char str[] = "Hello, World!";size_t size = sizeof(str);
printf("Size of the array: %zu bytes\n", size);
return 0;}
3,異同點
計算方式:strlen遍歷字符串直到遇到空字符。sizeof在編譯時計算大小。
適用對象:strlen適用于以空字符結尾的字符串。sizeof適用于變量、數(shù)據(jù)類型或數(shù)組。返回值:strlen返回字符的數(shù)量。sizeof返回字節(jié)數(shù)。字符串長度:strlen計算字符串長度時不包括空字符。sizeof計算字符串長度時包括空字符。綜上所述,strlen和sizeof在功能和用法上有較大差異,前者主要用于處理字符串的長度,后者用于獲取數(shù)據(jù)結構在內存中的大小。
-
字符串
+關注
關注
1文章
590瀏覽量
22300 -
函數(shù)
+關注
關注
3文章
4381瀏覽量
64918 -
運算符
+關注
關注
0文章
173瀏覽量
11489
發(fā)布評論請先 登錄
C語言sizeof和strlen的區(qū)別
【武漢華嵌】結構體的sizeof問題
strlen與sizeof區(qū)別
GD32與STM32異同
sizeof和strlen函數(shù)的區(qū)別在哪
字符串函數(shù)strlen的深入研究

sizeof與strlen到底有什么區(qū)別經典C語言面試題講解
C語言的sizeof操作符基礎和經典問題

C語言模擬實現(xiàn)strlen的步驟

評論