strlen和sizeof

两者主要区别

1:sizeof是类型,而strlen是函数

2:sizeof如果是对类型求解,那么必须加括号,对变量的话,可以不加括号,strlen是函数,所以必须加括号

3:sizeof的参数不对退化,strlen的参数退化为指针

4:sizeof在编译的时候就将值求出来了,strlen实在运行处求出来的,用来计算字符串的长度,而不是内存的大小

5:sizeof操作符不能返回动态分配的数组的内存和外部的数组内存大小,sizeof操作符不能用于函数类型和位字段

6:sizeof运算符的操作结果的类型size_t,就是unsigned int,无符号的整形

 

sizeof的主要场合:

用它可以查看某种类型的对象在内存占用多少字节

动态分配一个对象的时候,可以知道需要分配多少内存

 

posted @ 2017-02-15 15:07  柳下_MBX  阅读(132)  评论(0编辑  收藏  举报