问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言函数中,结构体变量的地址可以返回,怎么普通变量的地址不...

发布网友 发布时间:2024-02-23 17:06

我来回答

5个回答

热心网友 时间:2024-04-09 18:40

不太同意楼上观点,的确,当函数结束时会释放局部变量,但是,当你将它的地址返回时,系统就不会释放该变量。可参考链表的创建过程,我们都是在子函数中创建空链表,然后将其地址返回,如果返回了该地址,程序还释放局部变量,那么,空链表岂不是无法创建?而且楼主的那个例2我编译了,可以正常返回的啊…

热心网友 时间:2024-04-09 18:39

这是编译器的优化。程序1,程序2都可以返回。但是当你直接写return &x;的时候,编译器就会提示你返回局部变量 地址

热心网友 时间:2024-04-09 18:48

应该都不行,都是局部变量,fun()一结束都没了。
ST * fun(ST x) //这里的参数是x主函数里y的一个拷贝
{ST * px;
x.a=100;x.b='C';px=&x; //改变的是备份的值,并不是主函数里的y
printf("x.a=%d x.b=%c\n",x.a,x.b);
return px; //函数退出后,x被释放,px指向的空间里装的不知道是什么。但是整个程序并没有语法上的错误
}

热心网友 时间:2024-04-09 18:42

例2是一个错误的程序
错误1:
int * fun(x)
编译器编译的时候不会知道x是什么,函数的参数列表在函数声明的时候需要参数的类型,所以这里要修改成: int * fun(int x)
改写后在VC++6.0里面可以运行。
错误2:
就算改写了,这个fun函数也没什么用,为什么呢?
因为fun函数接受的是int变量a的数值9的一个拷贝,这个拷贝放在一个临时的内存位置处,然后通过调用fun(a)把这个临时的数值传递给函数,结果函数用10替换了9,这真是费力不讨好
直接用
int * fun(void)
{
int *p,x=10;
p=&x;
return p;
}
就可以了。

PS:在退出函数fun后,还能访问x,这是为什么呢?

热心网友 时间:2024-04-09 18:39

可能是编译器的问题,例2的形参没有类型,在有些编译器是通过的,有些就会出现问题
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求电脑玩安卓游戏的方法。步骤。以及所有的文件~谢谢 。有的联系我~ 我在电脑管家软件管理下的鹰击长空2都是解压包 澳洲留学读研申请攻略 澳洲留学申请时间是什么时候 去澳大利亚上大学需要什么手续 澳洲留学申请流程时间如何? 中南财经政法大学保险精算专业介绍 黄福记小吃梅干菜扣肉饼怎么样 如何开一家梅干菜扣肉饼店,成本要多少 在照明行业LED配光曲线图怎么看 “指针变量作为函数参数的作用:将一个变量的地址传送到另一个函...71 返回指针值的函数怎么返回一个局部变量或者函数内部分配的地址?4 C++中,如果返回一个被调函数的局部变量的首地址,而在主调函... 小马虎计算51+52+53+……+60,抄写时不小心漏了一个加号,把两个两位数... 一年级小学生数学试题:194余2,怎样计算? 一年内第二次强制修改 国家土地存包三十年不变是从那年开始的 科科群岛租借30年还能续约吗 如何强制二次修改 Axure软件如何制作读秒的页面效果? 土地30年不变的承包合同是从那年那月那日开始的 金蝶云星空有没有办法限定只能改别人制单的某个特定字段内容 公务活动作文周记一篇100字 散户怎么看股票的筹码 用苹果手机怎么做到第二次修改 大姨妈来了为啥老是反胃,会不会是有小孩 两篇500字(不能太多也不能太少) 的美文(不要网址)急 去日本京都旅游的最佳时间是什么时候 什么季节适合去京都旅游? 半条命恐惧之泣按什么键开门4 为什么C语言函数中可以返回局部变量而不能返回局部变量的指针?...28 微信注销的60天期间内还能通过搜索到我吗? 如何把改第二次? 被注销的别人还能搜到吗 有什么去北京回龙观打卡的攻略? 问一部电影,李若彤和金城武主演 碗莲什么时候种植? 碗莲几月份种植碗莲适合种植的时间推荐 ...他被称为___、___。他的主要作品有___、___、___、__ 满天星的株距是多少 成语填空:下落()(),()()之冤 韩国哪个男歌星声音比较沙哑 天福林雅华是福清哪里人 和平精英二级密码怎么开启和平精英二级密码如何打开 不经巨大的困难,不会有伟大的事业 玻璃水杯刻什么字玻璃水杯子刻字短句 每天祝福语大全每日祝福语 求YY靓号激活码 闲鱼被骗集体报警有用吗 求YY2.0靓号激活码