strlen和sizeof都是C语言中常用的函数,但是它们的功能和用途是不同的。
strlen函数是用来计算字符串的长度(不包括字符串末尾的空字符’\0’)的。它的声明如下:
size_t strlen(const char *str);
其中,str是一个指向以null字符结尾的字符串的指针。strlen函数会遍历字符串中的字符,直到遇到null字符为止,并返回字符的个数。
例如:
char str[] = "Hello World";
size_t len = strlen(str); // len的值为11
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用于计算数据类型或变量的大小。