在讲解这两个函数之前我们首先定义一个数组arr 里面存放2022hbkdhyn!这几个字符
1,sizeof
sizeof是计算我们定义arr数组所占空间的大小,其中每一个元素占据一个字符,字符串后面的\0结束字符也包含在内。例如数组arr 里面存放2022hbkdhyn!这几个字符 sizeof(arr)=12+1('\0')=13
2,strlen
strrlen是专门来求字符串长度的一个函数,所求的是\0结束字符前的字符个数,例如数组arr 里面存放2022hbkdhyn!这几个字符 strlen(arr)=12不包含'\0',需要注意的是,在使用strlen这个函数之前需要调用这个函数的函数库#include<string.h>,否则不能使用。
3下面为了更形象的介绍这两个函数之间的关系,我用VS2022来给演示一下。
#include<stdio.h>
#include<string.h>
int main()
{
char arr[] = "2022hbkdhyn!";//此处数组自动读取字符串字符个数,无需规定
int a = sizeof(arr);
int b = strlen(arr);
printf("%d\n", a);
printf("%d\n", b);
return 0;
}
输出结果为:
13
12