社区
C语言
帖子详情
在函数执行完以后函数内部声明的数组空间会被释放么?
EFanZh
2010-10-05 11:43:47
如题
int *f(void)
{
int a[64] = { 0 };
return a;
}
能这么做么?
...全文
1256
7
打赏
收藏
在函数执行完以后函数内部声明的数组空间会被释放么?
如题 int *f(void) { int a[64] = { 0 }; return a; } 能这么做么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
saishow
2010-10-06
打赏
举报
回复
释放了...
megtra
2010-10-06
打赏
举报
回复
不能返回指向“栈空间”的指针。
justkk
2010-10-06
打赏
举报
回复
把a[64]声明为static是可以的
ningweidong
2010-10-06
打赏
举报
回复
这么做是不对的。
但是可以返回malloc申请的内存。
Network90
2010-10-06
打赏
举报
回复
函数完了 函数内除静态变量外所有内存空间都将被释放 而如果返回了一个执行函数局部变量的指针 也将是一个指向无效空间的指针
小魔菇
2010-10-05
打赏
举报
回复
函数内部申明的非常量变量都会暂时放在堆栈中
当函数执行完了 堆栈被清空了 所以存放的东东也玩完了
所以不能这样做
arong1234
2010-10-05
打赏
举报
回复
当然不能,数组会被释放,返回的指针不再合法
你必须知道的495个C语言问题
6.22 如何在一个文件中判断
声明
为extern的
数组
的大小(例如,
数组
定义和大小在另一个文件中)?sizeof操作符似乎不行。 6.23 sizeof返回的大小是以字节计算的,怎样才能判断
数组
中有多少个元素呢? 第7章 内存...
C++ 定义返回
数组
的
函数
但是这时候返回的不能是在
函数
内部
定义的
数组
首地址,因为这个地址在
函数
执行
完
成之后就
会
删除,导致调用这个
函数
的其他
函数
不能得到这个返回的
数组
。后来发现可以借用new及其初始化解决这个问题,在
函数
内部
不定义...
Excel公式与
函数
全套系列课程
数组
公式 财务
函数
查找统计
函数
对
函数
需要提升,对
函数
感兴趣,... 15章节,62节课,10小时候
函数
干货视频教程,从基础到提供系统学习
函数
,从此之后告别Excel
函数
困扰。 本课程配套练习素材,同学们购买后打开课程,目录的右上方有一个,下载课件。
数组
和
函数
数组
和
函数
一:
数组
按
数组
元素的类型可以分为: 字符
数组
char a[10]; 数值
数组
: short int a[10]; int a[10] float a[10] double a[10] 指针
数组
char *a[10]//定义了一个指针
数组
有10个字符指针变量 其他类型...
调用
函数
在调用
完
后该
函数
变量内存
会
释放
再调用
函数
后调用的
函数
变量
会
释放
如下代码: #include<stdio.h> int fun() { int i = 0; return i += 10; } int main() { int a = fun(); printf("a=%d\n", a); int b = fun(); printf("a=%d\n", b); ...
C语言
69,387
社区成员
243,075
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章