【C/C++】深究细节 sizeof 与 strlen

基本概念

sizeof和strlen都可以用来计算字符串长度或大小

sizeof 运算符是C语言中的一个关键字用于计算数据类型或变量的大小,包括数组、结构体、指针等。sizeof运算符在编译时就能够计算出数据类型或变量的大小,因此具有很高的效率。另外,sizeof运算符可以用于计算任何数据类型或变量的大小,不仅限于字符串。

strlen 函数 是C语言中的一个标准库函数用于计算字符串的长度,不包括字符串末尾的空字符\0。strlen函数需要遍历整个字符串,直到找到字符串末尾的空字符\0,因此效率相对较低。另外,strlen函数只能用于计算字符串的长度,不能用于计算其他数据类型或变量的大小。

使用场景

  1. 若计算字符数组大小,则务必使用高效的 sizeof。
int len = sizeof("abc") - 1;
  1. 若使用字符类型指针指向字符串内存位置,则必须使用 strlen,否则得到的是指针类型大小。
char *str = "abc";
int len = strlen("abc");

你可能感兴趣的:(Linux,C/C++,c++,c语言,开发语言)