strlen和sizeof都是C語言中常用的函數,但是它們的功能和用途是不同的。
strlen函數是用來計算字符串的長度(不包括字符串末尾的空字符’\0’)的。它的聲明如下:
size_t strlen(const char *str);
其中,str是一個指向以null字符結尾的字符串的指針。strlen函數會遍歷字符串中的字符,直到遇到null字符為止,并返回字符的個數。
例如:
char str[] = "Hello World";
size_t len = strlen(str); // len的值為11
sizeof運算符用來獲取編譯時期數據類型或變量的大小(以字節為單位)。它的使用方法有兩種:
sizeof(type)
sizeof(object)
sizeof返回的是一個無符號整數(size_t類型),表示所傳遞的對象的字節數。
例如:
int arr[5];
size_t size1 = sizeof(int); // size1的值為4(假設int類型占4個字節)
size_t size2 = sizeof(arr); // size2的值為20(假設int類型占4個字節,數組長度為5)
綜上所述,strlen用于計算字符串的長度,sizeof用于計算數據類型或變量的大小。