# 字元串長度 - strlen() 描述 C 庫函數 size_t strlen(const char *str) 計算字元串 str 的長度,直到空結束字元,但不包括空結束字元。 聲明 下麵是 strlen() 函數的聲明。 size_t strlen(const char *str) 參數 s ...
# 字元串長度 - strlen()
描述
C 庫函數 size_t strlen(const char *str) 計算字元串 str 的長度,直到空結束字元,但不包括空結束字元。
聲明
下麵是 strlen() 函數的聲明。
size_t strlen(const char *str)
參數
- str -- 要計算長度的字元串。
返回值
該函數返回字元串的長度。
模擬實現
1. 計數器方式
int my_strlen(const char * str)
{
int count = 0;
while(*str) //走到'\0'為止
{
count++;
str++;
}
return count;
}
2.遞歸方式 -- 無臨時變數
int my_strlen(const char * str)
{
if(*str == '\0')//走到'\0'為止
return 0;
else
return 1+my_strlen(str+1);
}
3.指針計算方式
int my_strlen(char *s)
{
char *p = s;
while(*p != ‘\0’ )//走到'\0'為止
p++;
return p-s;
}
sizeof() 和 strlen() 的主要區別
sizeof()
是一個運算符,而strlen()
是一個函數。sizeof()
計算的是變數或類型所占用的記憶體位元組數,而strlen()
計算的是字元串中字元的個數。sizeof()
可以用於任何類型的數據,而strlen()
只能用於以空字元 '\0' 結尾的字元串。- sizeof() 計算字元串的長度,包含末尾的 '\0',strlen() 計算字元串的長度,不包含字元串末尾的 '\0'。
sizeof() 函數是一個運算符而不是函數,用於計算一個類型或變數所占用的記憶體位元組數。可以用它來獲取任何類型的數據的位元組數,包括基本數據類型、數組、結構體、共用體等等。
本文來自博客園,作者:HJfjfK,原文鏈接:https://www.cnblogs.com/DSCL-ing/p/18342328