Sizeof() and Strlen()的区别-20151026
2015-10-27 08:56
309 查看
Sizeof()是一个运算符,而不是一个函数。
对于参数不同时,sizeof返回值表示的含义也是不同的:
**数组—分配的数组空间大小
指针—存储指针所用的空间大小
类型—该类型所占的空间大小
对象—对象实际占用空间的大小
函数—函数返回类型所占的空间大小**
Strlen()是函数,需要头文件”string.h”
参数必须是字符型指针(char*),且必须是以’\0’结尾的。 当数组名作为参数传入时,实际上数组就退化成了指针
改变 eg[10]的类型:
Sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。
Strlen只关心存储的数据内容,不关心控件的大小和类型
实际上每次运行可能不一样,这取决于指针里面存了什么(从parr[0]开始知道遇到第一个NULL结束);
对于参数不同时,sizeof返回值表示的含义也是不同的:
**数组—分配的数组空间大小
指针—存储指针所用的空间大小
类型—该类型所占的空间大小
对象—对象实际占用空间的大小
函数—函数返回类型所占的空间大小**
Strlen()是函数,需要头文件”string.h”
参数必须是字符型指针(char*),且必须是以’\0’结尾的。 当数组名作为参数传入时,实际上数组就退化成了指针
Eg: int eg[10]; cout<< sizeof( eg ) <<endl; cout<< strlen( eg ) <<endl; [Error] cannot convert 'int*' to 'const char*' for argument '1' to 'size_t strlen(const char*)'
改变 eg[10]的类型:
char eg[10]; cout<< sizeof( eg ) <<endl; cout<< strlen( eg ) <<endl; 10 0 -------------------------------- Process exited after 0.3467 seconds with return value 0
Sizeof返回定义arr数组时,编译器为其分配的数组空间大小,不关心里面存了多少数据。
Strlen只关心存储的数据内容,不关心控件的大小和类型
char x[10]; char y[10]; char z[10] = ""; cout<<" The result is : "<<endl; cout<<"sizeof(x) = "<<sizeof( x )<<"\tstrlen(x) = "<<strlen( x )<<endl; cout<<"sizeof(y) = "<<sizeof( y )<<"\tstrlen(y) = "<<strlen( y )<<endl; cout<<"sizeof(z) = "<<sizeof( z )<<"\tstrlen(z) = "<<strlen( z )<<endl; The result is : sizeof(x) = 10 strlen(x) = 3 sizeof(y) = 10 strlen(y) = 1 sizeof(z) = 10 strlen(z) = 0 -------------------------------- Process exited after 0.2898 seconds with return value 0 请按任意键继续. . .
实际上每次运行可能不一样,这取决于指针里面存了什么(从parr[0]开始知道遇到第一个NULL结束);
相关文章推荐
- C#中sizeof的用法实例分析
- 浅析C语言中的sizeof
- 深入sizeof的使用详解
- C语言中的sizeof操作符用法及和strlen的区别
- C++不使用变量求字符串长度strlen函数的实现方法
- sizeof()的简单介绍
- 基于Sizeof与Strlen的区别以及联系的使用详解
- 浅析C/C++中被人误解的SIZEOF
- PHP字符串长度计算 - strlen()函数使用介绍
- php strlen mb_strlen计算中英文混排字符串长度
- 解决不用sizeof求出int大小的方法
- 字符串长度函数strlen和mb_strlen的区别示例介绍
- C++ sizeof 实例解析
- C语言中关于sizeof 和 strlen的区别分析
- 对C语言中sizeof细节的三点分析介绍
- 浅析PHP中strlen和mb_strlen的区别
- PHP中strlen()和mb_strlen()的区别浅析
- c++ sizeof 和strlen
- C语言之字符串长度和字符串反转
- python类型转换