C语言中strlen和sizeof
定义 sizeof是C/C++中的一个运算符(关键字),计算对象或者类型在内存中所占用的字节数。 strlen是C语言中的库函数,计算字符串长度,不包括尾0。 引用头文件#include<stdio.h>。 库函数原型:size_t strlen(const char *s) 注:sizeof是关键字,不是函数。strlen是函数。 举例 char test[20] = “hello”; char *test1 = “hello!”; char test2[] = “hello!!”; strlen(test) //5 strlen计算的是字符串的实际长度,不包括尾0,以第一个’\0’为结束符。 sizeof(test) //20 定义的char型数组,占用了20个字节。 strlen(test1) //6 trlen计算的是字符串的实际长度,不包括尾0,以第一个’\0’为结束符。 sizeof(test1) // 8 计算了指针类型所在的字节数,取决于32/64位机,32位占4字节,64位占8字节。 strlen(test2) //7 strlen计算的是字符串的实际长度,不包括尾0,以第一个’\0’为结束符。 sizeof(test2) // 8 定义的char型数组,占用了8个字节,其中包括了’\0’为结束符。 strlen的返回值为unsigned int类型,为无符号。