C 语言中常用的函数,sizeof() 和 strlen()

sizeof() 函数用于获取数据类型或变量所占用的内存字节数,不管这个变量是什么类型,只要是在编译时就能确定其类型的表达式或变量,都可以作为 sizeof() 的参数,例如:

int a = 10;
int arr[10];
printf("%d\n", sizeof(int));  // 输出 4
printf("%d\n", sizeof(a));    // 输出 4
printf("%d\n", sizeof(arr));  // 输出 40

strlen() 函数用于获取一个字符串的长度,即字符串中字符的个数,它只能用于处理以 NULL 结尾的字符串,例如:

char str[] = "hello world";
printf("%d\n", strlen(str));  // 输出 11

需要注意的是,strlen() 函数只计算字符串中的字符个数,不包括字符串末尾的 NULL 字符,因此上面的例子中输出的是 11,而不是 12。

综上所述,sizeof() 和 strlen() 的主要区别在于:

  • sizeof() 获取数据类型或变量所占用的内存字节数,而 strlen() 获取字符串中字符的个数。
  • sizeof() 可以用于任何数据类型或变量,而 strlen() 只能用于以 NULL 结尾的字符串。