sizeof 与 strlen 的区别
sizeof
sizeof是一个操作符
是用来计算变量(或类型所创建出来的变量)所占空间的大小,不关注内存中存放的具体内容
单位是字节
int main()
{
char str[] = "hello world";
int arr[10] = { 0 };//1个元素是4个字节
printf("%d\n", sizeof(str));//h e l l o 空格 w o r l d \0 12个字节
printf("%d\n", sizeof(arr)); //40
printf("%d\n", sizeof(int [10]));//40
//类型所创建出来的变量
return 0;
}
int arr[10] = { 0 } 这里的arr的类型是int [10],可通过监视清晰查看
strlen
strlen使用前要引用头文件#include<string.h>
strlen是一个库函数,是专门计算字符串长度的,只针对字符串
从参数给定的地址向后一直找\0,统计\0之前出现的字符的个数
#include<string.h>
int main()
{
char str[] = "hello world";
printf("%d\n", strlen(str));//h e l l o 空格 w o r l d 11个字符
return 0;
}