strlen和sizeof的区别

来源:互联网 发布:如何出同人本 知乎 编辑:程序博客网 时间:2024/04/29 09:18

 自己总结的才不容易忘记。

 

其实发现对于很多情况,根本就不能将它们摆在一起比较

 

strlen:是函数,只用于计算字符串(char *,要求字符串是以"/0"结尾)的长度,函数实现的实质是循环计数,直到遇到"/0",故strlen不会计

 

算字符串隐含的"/0"

 

sizeof:是算符,对类型或函数(如cout<<sizeof(main())<<endl;//4)进行计算大小,对数组计算时不退化(如char a[20]

 

="0123456789",sizeof(a)的结果是20),而strlen进行计算时退化成指针,所以结果为10,编译程序在编译时就计算过了sizeof,故

 

可以用sizeof定义数组的维数。

 

 

 

原创粉丝点击