sizeof与strlen
来源:互联网 发布:天蝎网络第二季看不到 编辑:程序博客网 时间:2024/06/05 04:10
概述
sizeof():是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,
参数可以是数组、指针、类型、对象、函数等。
功能是:获得保证能容纳实现所建立的最大对象的字节大小。
strlen():是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,
实际上数组就退化成指针了。
功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际 完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符NULL。
返回的长度大小不包括NULL。
1、
char
* ss =
"0123456789"
;
sizeof
(ss);
//结果 4 ;
sizeof
(*ss);
//结果 1;*ss其实是获得了字符串的第一位'0'所占的内存空间;
strlen
(ss);
//结果是10 ;
char str[20] = "0123456789"
sizeof(str) = 20
strlen(str) = 10
char*str="i am ok!"
sizeof(str)=4, 因为str是个指针变量,
sizeof("i am ok!")=9;这里有5个字符,2个空格,1个叹号,还有字符串的结束符‘/0';
2、
int *p = NULL; // sizeof(p)=4, sizeof(*p)=4
int a[100]; // sizeof(a)=400, sizeof(&a)=4 , sizeof(a[100])=4 , sizeof(&a[0])=4
int b[100];
void fun(int b[100])
{ sizeof(b); } // sizeof(b)=4
char (*pArray1)[4]={0}; sizof(pArrya1)=4,
char (*pArray2[10])[4]={0}; sizof(pArrya2)=40,
char (*pArray3[100])[4]={0}; sizof(pArrya3)=400
3、
int *p=malloc(100); // sizeof(p) = 4 sizeof(p) 只能测定 指针大小,32位机上得4。
sizeof 不能测定动态分配的数组大小
int b[ ][3] = {{1},{3,2},{4,5,6},{0}};中,sizeof(b) = 48
阅读全文
0 0
- sizeof()与strlen()用法
- sizeof()与strlen()
- 关于sizeof与strlen
- 关于sizeof()与strlen()
- strlen与sizeof区别
- sizeof与strlen区别
- Sizeof与Strlen
- strlen与sizeof区别
- sizeof与strlen()
- sizeof与strlen
- strlen() 与 sizeof() 区别
- sizeof与strlen
- sizeof 与 strlen
- strlen与sizeof
- strlen与sizeof
- sizeof与strlen
- sizeof()与strlen()[转]
- sizeof与strlen
- 学生操作系统“三种文件”
- 学生管理操作系统-总览
- Java与算法(1)
- Hive开发经验总结
- MariaDB数据库安装完需要初始化操作
- sizeof与strlen
- 使用JDBCTemplate实现与Spring结合,方法公用 ——Spring配置(applicationContext.xml)
- python 发送http请求填坑
- USB协通讯议(很好的一篇文章)
- Openstack Neutron扩展实现细节(QOS)
- 又遇到vmware不能启动了(vmware12/Deepin15.4(4.9.0kernel))
- 一次一密文件加密程序
- 【12.1】c++ primer plus 课后编程答案
- 找出Vector中所有最小值