Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4210925
  • 博文数量: 291
  • 博客积分: 8003
  • 博客等级: 大校
  • 技术积分: 4275
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-30 18:28
文章分类

全部博文(291)

文章存档

2017年(1)

2013年(47)

2012年(115)

2011年(121)

2010年(7)

分类:

2011-07-01 00:13:47

原文地址:return 局部变量 作者:onezeroone

  1. #include <stdio.h>

  2. char *
  3. getStr()
  4. {
  5.         char s[] = "hello";

  6.         return s;    //error: stack data will be invalid after return
  7. }

  8. char *
  9. getStr1()
  10. {
  11.         char *s = "hello";

  12.         return s;    //ok: s is on .data area
  13. }

  14. char *
  15. getStr2()
  16. {
  17.         static char s[] = "hello";

  18.         return s;   //ok: s is on .data area too
  19. }

  20. int
  21. main(void)
  22. {
  23.         printf(getStr());
  24.         printf(getStr1());
  25.         printf(getStr2());

  26.         printf("\n");

  27.         return 0;
  28. }

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