Chinaunix首页 | 论坛 | 博客
  • 博客访问: 133404
  • 博文数量: 27
  • 博客积分: 66
  • 博客等级: 民兵
  • 技术积分: 320
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-21 19:51
文章分类

全部博文(27)

文章存档

2014年(13)

2013年(12)

2012年(2)

我的朋友

分类: 其他平台

2014-11-09 21:51:19


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <string.h>

  3. int main(int argc, char **argv)
  4. {
  5.     char a[3];
  6.     printf("%d\n",sizeof(a));    // 3 数组分配的3个字节,占内存当然3字节
  7.     printf("%d\n",strlen(a));    // 2 (内容不确定,这个答案不确定)
  8.     
  9.     char b[] = "hello";
  10.     printf("%d\n",sizeof(b));    // 6 数组没给大小,后面加个\0 6个字节
  11.     printf("%d\n",strlen(b));    // 5
  12.     
  13.     char c[20] = "hello";
  14.     printf("%d\n",sizeof(c));    // 20 数组分配了20,20个字节
  15.     printf("%d\n",strlen(c));    // 5
  16.     
  17.     char d[5] = "hello";
  18.     printf("%d\n",sizeof(d));    // 5 分配的就是5个字节
  19.     printf("%s\n",d);            // hello
  20.     printf("%c,%d\n",d[5],d[5]);    // 最后一个字节的下一字节给置\0
  21.     printf("%d\n",strlen(d));    // 5
  22.     
  23.     

  24.     
  25.     char e[] = "hello\0world";
  26.     printf("%d\n",sizeof(e));    // 12
  27.     printf("%d\n",strlen(e));    // 5

  28.     
  29.     char *f = "hello\0world";
  30.     printf("%d\n",sizeof(*f)); // 这里竟然是1,说的是h字符的长度
  31.     printf("%d\n",sizeof(f));    // 4,指针的大小
  32.     printf("%d\n",strlen(f));    // 5


  33.     return 0;
  34. }


阅读(1578) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~