博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sizeof() strlen()
阅读量:4568 次
发布时间:2019-06-08

本文共 1148 字,大约阅读时间需要 3 分钟。

sizeof是运算符,strlen是函数

1) sizeof( type_name ); // sizeof( 类型 );
2) sizeof object; // sizeof 对象
sizeof后,若为类型必须加括弧,若为变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。

1. strlen()

strlen只能用char*做参数,且必须是以''\0''结尾的

当string中含有空字符’\0’,使用strlen()获取string的长度时会被截断,使用成员函数length()和size()可以返回string的真实长度。

string strTest="good";

strTest[2]=0;

strlen[strTest]==>>2;

2、sizeof()   指针与数组

https://blog.csdn.net/Colorful_lights/article/details/79819682

 sizeof(数组名):返回数组所有元素占有的内存空间字节数。

  sizeof(指针)  :返回计算机系统的地址字节数,如果是32位系统,返回4,16位系统返回2。

3、sizeof()  strlen()  wcslen() 区别

https://blog.csdn.net/hczhiyue/article/details/6248229

strlen返回的是字节数(对中英文不一致,中文占两个字节,不包括'/0')

wcslen返回的是字符数(对中英文一致)

sizeof返回的是字节数(包含'/0',而'/0'在Unicode下也是占两个字节的)

char ch[]="abcd";sizeof(ch);//5strlen(ch);//4

4、sizeof 

当适用了于一个结构类型时或变量, sizeof 返回实际的指针或变量的大小;

当适用一静态地空间数组, sizeof 归还全部数组的尺寸,例如字符数组的的尺寸;
sizeof 操作符不能返回动态地被分派了的数组或外部的数组的尺寸;
数组做sizeof的参数不退化,传递给strlen就退化为指针了。
sizeof后,若为类型必须加括弧,若为变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。
char Array[20] ="012345";cout << sizeof(Array) << endl; \\20  \\静态数组char *p = Array;cout << strlen(p) << endl;cout << sizeof(p) << endl; \\4  \\动态指针

5、

 

转载于:https://www.cnblogs.com/wllwqdeai/p/10289638.html

你可能感兴趣的文章
一道面试题及扩展
查看>>
Unity 3D 我来了
查看>>
setup elk with docker-compose
查看>>
C++ GUI Qt4学习笔记03
查看>>
Java基础回顾 —反射机制
查看>>
c# 前台js 调用后台代码
查看>>
2017-02-20 可编辑div中如何在光标位置添加内容
查看>>
$.ajax()方法详解
查看>>
day42
查看>>
jquery操作select(增加,删除,清空)
查看>>
Sublimetext3安装Emmet插件步骤
查看>>
MySQL配置参数
查看>>
全面理解Java内存模型
查看>>
存储过程
查看>>
生成器
查看>>
将一个数的每一位都取出来的方法!
查看>>
2) 十分钟学会android--建立第一个APP,执行Android程序
查看>>
面试题8:二叉树下的一个节点
查看>>
hash冲突的解决方法
查看>>
Asp.Net webconfig中使用configSections的用法
查看>>