strlen和sizeof的区别

一叶飘舟 2011-08-01

 

1、strlen是函数 sizeof是关键字(PS:sizeof int是错的 当用sizeof求关键字的大小时必须用括号 sizeof(int))

2、strlen不区分是数组还是指针都是读到\0就返回长度,并且不把\0计算在长度之内

      sizeof 对于指针返回一个指针所占大小一般是4,但是对于数组返回的是整个数组所占空间大小并把\0计算在内

例如

#include<stdio.h>

int main(){

   char a[] = "abcde";

   printf("%d",sizeof(a));

}

这个时候是6 因为a[]中还有一个\0

如果是这样

int a[] = {123456}

printf("%d",sizeof(a));

这个时候就是4

登录 后评论
下一篇
corcosa
14248人浏览
2019-10-08
相关推荐
c++ 面试整理
712人浏览
2017-10-10 14:07:00
2012年C++专家进阶之一
329人浏览
2012-05-15 16:08:00
[面试题]sizeof与strlen的区别
1131人浏览
2014-09-07 10:40:00
C++面试若干问题
1037人浏览
2013-10-11 21:02:00
sizeof 和 strlen;gets 和 %s
910人浏览
2014-08-01 10:28:00
strlen和sizeof的区别
452人浏览
2014-05-24 19:12:33
替换字符串中的空格
592人浏览
2017-12-06 15:35:00
Sizeof与Strlen的区别与联系
388人浏览
2016-11-27 21:03:00
【No.1_sizeof与strlen】
428人浏览
2017-11-18 20:31:00
sizeof和strlen的区别
569人浏览
2017-11-27 13:46:00
sizeof和strlen的区别
270人浏览
2012-12-11 22:23:00
字符串操作
512人浏览
2018-03-10 20:36:37
strlen 与sizeof()的区别
447人浏览
2018-10-31 13:50:41
0
0
0
1168