C++系列——sizeof, strlen
来源:互联网 发布:评估数据库表的设计 编辑:程序博客网 时间:2024/04/29 18:47
一. sizeof的含义以及用法
作用:返回一个对象(普通对象或类型实例化)或类型名(结构体或类类型名)的长度(占用内存的大小)。返回值类型为size_t,单位为字节。
语法形式:
sizeof (type name);sizeof (expr);sizeof expr;
使用sizeof的结果会依赖于expr的类型:
- 对普通对象,会返回其所占用的内存大小,比如32位机器上,char(1 byte),short(2 byte),int(4 byte),long(4 byte),long long(8 byte),float(4 byte),double(8 byte);对引用类型,同样也会返回其所占用的内存大小;
- 对指针类型,会返回存放地址值所需的内存大小,比如32位机器上,地址长度为32位,即4 byte;注意,如果我们要取得指针指向对象占用内存大小,则要对该指针解引用(*);
- 对数组类型,会返回单个数组元素占用内存大小乘上数组元素个数,即该数组所占用的内存大小;所以一般我们可以通过sizeof(array)/sizeof(*array)来求出数组元素的元素个数。
二. strlen的含义以及用法
作用:返回字符串的长度,计算方式为从字符串中的第一个字符开始,直到第一次遇到空字符(‘\0’)。
语法形式:std::size_t strlen( const char* str );
三. 二者的对比
对于字符串类型对象,返回值差别:
- sizeof返回该字符串占用内存的全部长度,还包括了结尾符(空字符,'\0'),而strlen的计算则不包含空字符,故而一般sizeof返回的值比strlen返回的值大1。
0 0
- C++系列——sizeof, strlen
- C/C++——sizeof和strlen的区别
- C语言之——strlen()与sizeof()
- C语言专题——sizeof()与strlen()的区别
- C学习——sizeof和strlen的区别
- C strlen vs sizeof
- C sizeof() 与 strlen()
- C sizeof 与 strlen()
- C strlen( ), sizeof
- sizeof和strlen【C/C++】
- C语言sizeof和strlen
- C语言sizeof和strlen
- 黑马程序员——C语言基础——sizeof、strlen、printf小结
- 黑马程序员—C学习笔记—补充字符串总结(定义、赋值、sizeof、strlen)
- C语言笔记:变量字节长度&取值范围——sizeof()VS strlen
- C++-sizeof()与strlen()的区别
- c语言知识1-sizeof and strlen
- C语言中sizeof与strlen区别
- 如何搭建Struts 2 开发环境
- IM模块-UiCollectionView列表显示气泡文本
- SDUT OJ 来淄博旅游
- HDU1010 奇偶剪枝 + 预先筛选 + DFS搜索
- **【杭电2066】一个人的旅行--多源多地 dijsktra
- C++系列——sizeof, strlen
- CentOS7安装和配置FTP
- 【poj1080】 Human Gene Functions
- HDU_1711解题报告
- 图片自动变换
- C输出回退符
- Android单排上王者系列之Dagger2注入原理解析
- 华为OJ——字符串合并处理
- 读书笔记(C++)——【标准IO库】