天天看點

C語言中 strlen 和 sizeof 的關系

C語言中 strlen 和 sizeof 的關系

  1. strlen 和 sizeof 沒有什麼關系;
  2. strlen 是庫函數,使用時需要引用頭檔案(#include <string.h>);此外,strlen是求字元串長度的,隻能針對字元串求長度,‘\0’之前的字元個數;
  3. 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;
}
           

繼續閱讀