簡單了解strlen()函數和sizeof()的差別
對工作中遇到的一些問題,做簡要總結。
以下僅僅是比較使用在字元串的地方
-
strlen(“ABCDE”) + 1 == sizeof(“ABCDE”) = 6
strlen()函數:‘/0’不統計。
-
char a[10]=“ABCDE”;
strlen(a) = 5; sizeof(a) = 1 * 10 = 10;
-
傳回size_t,就是unsigned int。
僅僅在對字元串操作時的差別:
strlen()傳回值是字元串的長度(字元個數,不包含結束符 ‘\0’)。
sizeof() 傳回值是字元串的長度+1.(包含結束符 ‘\0’)