C語言中 strlen 和 sizeof 的關系
- strlen 和 sizeof 沒有什麼關系;
- strlen 是庫函數,使用時需要引用頭檔案(#include <string.h>);此外,strlen是求字元串長度的,隻能針對字元串求長度,‘\0’之前的字元個數;
- sizeof 是操作符;是計算變量、數組、類型的大小,其機關是位元組。
例如:
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[] = "sky";//s k y \0
char arr2[] = { 's','k','y' };
printf("%d\n", strlen(arr1));//輸出3 s k y \0之前有3個
printf("%d\n", sizeof(arr1));//輸出4 s k y \0 四個元素
printf("%d\n", strlen(arr2));//随機值 s k y 後面無\0 是以輸出随機值
printf("%d\n", sizeof(arr2));//輸出3 s k y
return 0;
}