温馨提示×

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

小亿
99
2023-10-18 12:48:13
栏目: 编程语言

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

0