首页 > 其他 > 详细

sizeof()和 strlen()的区别 --- 个人笔记

时间:2014-03-15 14:15:10      阅读:263      评论:0      收藏:0      [点我收藏+]

  在学习C语言和linux的时候,遇到了一些常见问题、题目,有些很简单,有些容易出错,本人水平有限,未免会出错,今天有时间,就将以前做的笔记,一一拿出来,写写blog。

sizeof()和 strlen()的区别

  首先sizeof()是C语言提供的一个运算符,不是函数!它的作用主要是获得一个类型
或者一个对象里面内容的空间大小。

  strlen()是一个标准库函数函数,用于计算一个字符串的长度,但是不把字符 ‘\0‘计算在内。

如char *buf="hello,world"

strlen(buf)=11

sizeof(buf)=4

看看:sizeof( 2 + 3.14 );// 3.14的类型为double,2也会被提升成double类型,所以等价于 sizeof( double );

再看看下面:

 

bubuko.com,布布扣
static inline void print_size(void)
{
      char str[] = "hello";
      char *pt = str ;
      char *ptr= NULL;
      void *p = malloc(100);
      int i =10;
      printf("sizeof str is %d\nstrlen of str is %d\n",sizeof(str),strlen(str));//6,5
      printf("sizeof pt is %d\nstrlen of pt is %d\n",sizeof(pt),strlen(pt));//4,5
      printf("sizeof ptr is %d\n",sizeof(ptr));//4
      printf("sizeof p is %d\n",sizeof(p));//4
      printf("sizeof i is %d\n",sizeof(i));//4
return ; }
bubuko.com,布布扣

sizeof()和 strlen()的区别 --- 个人笔记,布布扣,bubuko.com

sizeof()和 strlen()的区别 --- 个人笔记

原文:http://www.cnblogs.com/chengliangsheng/p/3600908.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!