Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4466972
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: C/C++

2011-05-12 20:58:48


  1. #include <stdio.h>

  2. void main()
  3. {
  4.     char string[]="i love linux!";
  5.    char *strin ="i love arm!";

  6.     printf("%s\n",string);
  7.     printf("%s\n",strin);
  8. }


  9. ywx@yuweixian:~/yu/data-struct/c$ ./main
  10. i love
  11. i love

那么这两种方式有什么区别呢 ??

   在 strin 字符串指针中,它是将 strin的地址放到 寄存器中
  
   在 string 字符串数组中,它是将 字符串的内容复制到 寄存器

  如果,我们要存储显示的字符串比较大,那么又会怎么样呢??
  编译器 会将 字符串内容存储到内存中
然后显示

在看的视频中,是在 vc6.0 下,实现
   通过 调试,看到,在 字符串指针中,寄存器存放 字符串指针地址


   在 数组字符串中,寄存器存储字符串内容



   如果,字符串比较大,会在内存中存储显示




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