sizeof 和 strlen 的区别(举例说明)
2017-11-23 13:53
357 查看
sizeof:获得字节数(包括’\0’),是运算符,不做运算,只做计算。
strlen:测试字符串长度(不包括’\0’),是函数。
sizeof 在计算数组的时候,是计算这个数组的最大长度,而不是数组内部数据的长度。
sizeof可以用类型做参数,还可以用函数做参数。strlen只能用char*做参数,且必须是以''\0''结尾的。
例:
#include<stdio.h>
#include<string.h>
int main()
{
char a[]={"china"};
printf("%d\n",sizeof(a));
printf("%d\n",strlen(a));
}
结果:
6
5
#include<stdio.h>
int main()
{
int i=1;
printf("%d,%d\n",sizeof(++i),i);
return 0;
}
结果:4,1
另外:当sizeof后面带一个指针的时候,实际上是计算指针的长度,一般32位设备
指针长度是4个字节。而strlen依然是计算指针指向的长度。
sizeof:获得字节数(包括’\0’),是运算符,不做运算,只做计算。
strlen:测试字符串长度(不包括’\0’),是函数。
sizeof 在计算数组的时候,是计算这个数组的最大长度,而不是数组内部数据的长度。
sizeof可以用类型做参数,还可以用函数做参数。strlen只能用char*做参数,且必须是以''\0''结尾的。
例:
#include<stdio.h>
#include<string.h>
int main()
{
char a[]={"china"};
printf("%d\n",sizeof(a));
printf("%d\n",strlen(a));
}
结果:
6
5
#include<stdio.h>
int main()
{
int i=1;
printf("%d,%d\n",sizeof(++i),i);
return 0;
}
结果:4,1
另外:当sizeof后面带一个指针的时候,实际上是计算指针的长度,一般32位设备
指针长度是4个字节。而strlen依然是计算指针指向的长度。
相关文章推荐
- 以实例来说明strlen()和sizeof()的区别
- 说明sizeof和strlen之间的区别。
- 用strlen和sizeof()有什么区别
- sizeof和strlen的区别
- 论Sizeof与Strlen的区别与联系的重要性!
- [基础|理论|实验]Sizeof与Strlen的区别与联系
- Sizeof与Strlen的区别与联系
- Sizeof与Strlen的区别与联系
- C++中strlen与sizeof的区别
- C语言中sizeof与strlen区别
- sizeof 和 strlen 的区别
- sizeof和strlen的区别
- Sizeof与Strlen的区别与联系(转)
- ArrayList和LinkedList的区别是什么?举例说明LinkedList可实现的功能。
- Sizeof与Strlen的区别与联系
- Sizeof与Strlen的区别与联系
- Sizeof与Strlen的区别与联系
- sizeof && strlen 的区别
- strlen() / sizeof() / length() 区别
- 举例说明 this,self,parent 的区别用法