c语言中strlen和sizeof有什么区别

avatar
作者
筋斗云
阅读量:0

strlen和sizeof都是C语言中常用的函数,但是它们的功能和用途是不同的。

  1. strlen函数:

strlen函数是用来计算字符串的长度(不包括字符串末尾的空字符’\0’)的。它的声明如下:

size_t strlen(const char *str); 

其中,str是一个指向以null字符结尾的字符串的指针。strlen函数会遍历字符串中的字符,直到遇到null字符为止,并返回字符的个数。

例如:

char str[] = "Hello World"; size_t len = strlen(str);  // len的值为11 
  1. sizeof运算符:

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用于计算数据类型或变量的大小。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!