字符串,字符串数组,sizeof,strlen
2016-02-19 16:40
211 查看
strlen()遇到\0则停止,计算\0之前的字符个数,而sizeof计算整体的字节大小。
其中a和c不用说,都是字符串。
而b是属于字符串数组!是数组。用sizeof计算大小。由于是根据元素个数来初始化的,所以是3。
但是strlen时,由于分配时没有\0,所以只能向后找,答案不是注释中的15,这个结果是不一定的,看内存单元中什么时候遇到\0就停止了。
int main() { char a[] = "123"; char b[] = { '1', '2', '3' }; char* c = "123"; cout << sizeof(a) << endl;//4 cout << strlen(a) << endl;//3 cout << sizeof(b) << endl;//3 cout << strlen(b) << endl;//错误:15 cout << sizeof(c) << endl;//4 cout << strlen(c) << endl;//3 return 0; }
其中a和c不用说,都是字符串。
而b是属于字符串数组!是数组。用sizeof计算大小。由于是根据元素个数来初始化的,所以是3。
但是strlen时,由于分配时没有\0,所以只能向后找,答案不是注释中的15,这个结果是不一定的,看内存单元中什么时候遇到\0就停止了。
相关文章推荐
- oracel数据并发和数据一致
- UISlider增加触动区域
- SPOJ-Problem GCJ1C09C
- [从头学数学] 第97节 数学广角--数与形
- Android Studio配置文件路径修改
- JAVA基础
- 绑定变量学习示例-未完待续
- Git -- 配置别名
- Java断点续传
- hdu1009 FatMouse' Trade(贪心水)
- 关于系统调用(一)
- 真是不把自己逼到再无退路就不学
- Android 滚动字幕实现
- 查看签名文件的有效期限等详细信息
- iOS9 无法加载http网络请求的问题
- jQuery自学教程(二)——选择器
- block
- LittleTool之批量修改材质
- 工具的使用——windows操作系统的使用(创建宽带连接)
- OC中的关键字,weak,assign,copy,strong,nonatomic,retain