return 局部变量合法,函数返回值的生命周期
来源:互联网 发布:cms html5模板 编辑:程序博客网 时间:2024/06/06 03:33
一:return 局部变量合法
1:return
/*
函数的参数,函数内部定义的局部变量,函数执行完成的时候,
就会被操作系统回收,内存会被其他程序所用
*/
void go(int num)
{
int x=10;
printf("num=%d,x=%d\n",num,x);
printf("&num=%p,&x=%p",&num,&x);
}
void main()
{
go(2);
printf("\n你好天朝\n");
system("pause");
}
2:return副本机制
/*
函数的参数,还有定义的临时变量,函数执行完成的时候,
就会被操作系统回收,内存会被其他程序所用,函数的返回值有副本机制,也就是编译器自动将返回值复制一份
所以,即使函数运行完成,局部变量回收,值仍然正确。
*/
int sum(int a,int b)
{
int c = a + b;//实现加法
printf("c=%d,&c=%p\n",c,&c);//输出值和地址
return c;
}
void main()
{
//int num = sum(1,2);
//printf("num=%d\n",num);
printf("%d\n", sum(1, 2));
system("pause");
}
二:函数返回值的生命周期
函数的返回值有副本机制,返回的时候,在保存一份,在这打印的是副本,原来内存或者寄存器的的数据就会销毁了,
内部定义的变量,函数运行完后被销毁,参数也被销毁了,全局变量会一直存在,寄存器上的临时变量,也会被马上销毁,
内部定义的变量,函数的参数,临时变量,声明周期
0 0
- return 局部变量合法,函数返回值的生命周期
- 函数局部变量的返回
- 函数局部变量的返回
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数返回值—返回局部变量
- 函数的局部变量用作函数返回值
- 函数的局部变量用作函数返回值
- 函数返回局部变量
- 函数返回局部变量
- windows下如何在一台机器上安装两个MYSQL数据库
- Celery 学习笔记(2)- 定时任务
- sk_buff详细介绍
- 开发者最常用的 8 款 Sublime text 3 插件
- js 缓动框架封装
- return 局部变量合法,函数返回值的生命周期
- Python练习实例15
- LeetCode 366. Find Leaves of Binary Tree
- Http Status 304响应状态的资源更新机制
- 同源&跨域(jsonp原理 / jQuery 的 jsonp)
- Git使用简述
- BZOJ 3130 [Sdoi2013] 费用流
- 职场攻略
- 《大内密探零零发》