1.sizeof 是操作符,用于计算变量所占内存空间大小,单位是字节,如果操作数是类型,则计算的是使用类型创建的变量所占空间大小。
❗sizeof 只关注占用内存空间的大小,不在乎内存中存放的数据
#include<stdio.h>
int main()
{
char a = "abcd";
int b = 100;
printf("%d\n",sizeof(a));//1
printf("%d\n", sizeof a);//1
printf("%d\n", sizeof(b));//4
printf("%d\n", sizeof b);//4
printf("%d\n", sizeof(char));//1
printf("%d\n",sizeof(int));//4
return 0;
}
2.strlen 是C语言库函数,功能是求字符串长度。
我们要使用它的功能时,要引用头文件string.h。因为此头文件定义了几个函数来操作 C 字符串和数组,其中包括实现strlen函数功能。
strlen函数:
size_t strlen ( const char * str );
❗注意:参数是地址,要明白指向哪里❗
从strlen函数的参数str中这个地址开始向后统计\0之前字符串中字符个数,strlen函数会一直向后找\0字符,直到找到为止。
#include<stdio.h>
#include<string.h>
int main()
{
char a[3] = { 'a','b','c' };
char b[] = "abcd";
printf("%d\n",strlen(a));//随机数
printf("%d\n",strlen(b));//4
printf("%d\n",sizeof(a));//3
printf("%d\n",sizeof(b));//5
return 0;
}