早教吧作业答案频道 -->其他-->
一个C指针问题#include#defineN10int*fun(inta[N],intn){intb[N];returnb;}main(){intw[N],*p;p=fun(w,n);}这个程序把b当函数反回值,指针P指向B数组首地址,但结果P却变成了无向指针,我不明
题目详情
一个C指针问题#include #define N 10 int *fun (int a[N],int n) { int b [N]; return b; } main () { int w[N],*p; p=fun (w,n); } 这个程序把b当函数反回值,指针P指向B数组首地址,但结果P却变成了无向指针, 我不明白的是,在P指向FUN之前,B以经反回给了FUN了,P指向FUN应该是没错的,为什么P成了无向指针了?
▼优质解答
答案和解析
这里牵扯到了一个局部变量的问题, 楼主看你的fun函数,b只是一个局部数组,它的生存区间是在fun函数中,当fun函数返回时,也就是意味着fun函数结束了,那么此时它的局部变量还存在么 b本来(指fun函数结束之前)的内存已经被释放掉了,你说p现在指向了哪儿了?? 你可以在b声明的时候加上个static修饰符就不会出现这个问题了
看了 一个C指针问题#includ...的网友还看了以下:
关于狭义相对论两个钟A、BA静止,B在离A很远的一点静止一开始指针都指向0B接近光速飞行到A处时, 2020-05-17 …
女人的手指震动了一下,想是叫苇眉子划破了手。她把一个手指放在嘴里吮了一下。这个细节说明:[]A.水 2020-06-28 …
女人的手指震动了一下,想是叫苇眉子划破了手。她把一个手指放在嘴里吮了一下。这个细节说明()A.水生 2020-06-28 …
“女人的手指震动了一下,想是叫苇眉子划破了。她把一个手指放在嘴里吮了一下。”这个细节主要说明A.水 2020-06-28 …
有的人活着,他已经死了;有的人死了,他还活着.两个死了的含义是A两个都指失去了生命.B前一个指失有 2020-06-29 …
某人左手指上写了些词语,右手指也写了些词语,两手对起来,相对的手指上的词语就连成一句话。你能写出右 2020-07-03 …
如图所示,通电环形导体中间和上部各有一小磁针,当通以如图电流后,小磁针的N极将分别A.a的N极向纸外 2020-11-01 …
“我也像超出了平常的自己,到了另一世界里”对这一句理解不正确的一项是A.“平常的自己”指被哀愁困苦的 2020-12-03 …
名著阅读(3分)A曰:“夫英雄者,胸怀大志,腹有良谋,有包藏宇宙之机,吞吐天地之志者也。”B曰:“谁 2020-12-06 …
A曰:“夫英雄者,胸怀大志,腹有良谋,有包藏宇宙之机,吞吐天地之志者也。”B曰:“谁能当之?”A以手 2020-12-14 …