| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 476 人关注过本帖
标题:请教C语言中局部变量的问题
只看楼主 加入收藏
ma815841356
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2015-5-3
结帖率:100%
收藏
已结贴  问题点数:13 回复次数:8 
请教C语言中局部变量的问题
代码中的数组a不是函数try()定义的局部变量吗,局部变量在函数调用结束后不是就自动销毁了,但为什么在主函数中仍能用它的地址去访问数组a中的元素?求大神指点迷津,谢谢

程序代码:
#include<stdio.h>

int *try()
{
    int a[2]={10,20};

    return a;
}

int main()
{
    int *p;

    p=try();

    printf("%d\n",p[1]);
    
    return 0;
}
搜索更多相关主题的帖子: C语言 元素 
2015-06-18 15:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
未定义行为尔
2015-06-18 16:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
很危险的代码

DO IT YOURSELF !
2015-06-18 16:37
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
正常一点吧

一片落叶掉进了回忆的流年。
2015-06-18 16:51
ma815841356
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2015-5-3
收藏
得分:0 
回复 2楼 rjsp
请问危险在哪?谢谢
2015-06-19 18:42
实际应用
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:89
专家分:341
注 册:2015-5-30
收藏
得分:0 
a 在函数结束后已销毁,
再去打印其内容,就不好拉
2015-06-19 22:56
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
收藏
得分:13 
何为销毁,丢弃


莫问前尘有愧,但求今生无悔
2015-06-20 10:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
OJ做的不少了,這種問題沒搞懂,無語。現在出來社會的,基本上都是這種貌似高手。

授人以渔,不授人以鱼。
2015-06-20 13:25
lanlinzou
Rank: 2
等 级:论坛游民
帖 子:26
专家分:49
注 册:2015-6-20
收藏
得分:0 
被调函数int *try()里定义的数组a[]在执行完后内存被销毁,(原先a的地址空间被释放);很不安全;
2015-06-20 18:46
快速回复:请教C语言中局部变量的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012825 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved