跨函数使用内存
来源:互联网 发布:java什么是源代码 编辑:程序博客网 时间:2024/05/02 02:26
#include<stdio.h>
#include<malloc.h>
#include<malloc.h>
int * f()
{
int *q=(int *)malloc(sizeof(int));
int j=20;
q=&j;
return q;
}
int main()
{
int *p;
p=f();
printf("%d", *p);
return 0;
}
#include<malloc.h>
void f(int ** q){
int j=20;
*q=&j;
}
int main(){
int *p;
f(&p);
return 0;
}
可行
#include<stdio.h>#include<malloc.h>
int * f()
{
int *q=(int *)malloc(sizeof(int));
int j=20;
q=&j;
return q;
}
int main()
{
int *p;
p=f();
printf("%d", *p);
return 0;
}
f函数开辟一个q指针,指向j,函数结束后,动态开辟的内存并没有释放。成功
#include<stdio.h>
#include<malloc.h>
void f(int * q){
int j=20;
q = (int *)malloc(sizeof(int));
q = &j;
}
int main(){
int *p;
f(p);
printf("%d", *p);
return 0;
}
不行
#include<stdio.h>
#include<malloc.h>
void f(int ** q){
*q = (int *)malloc(sizeof(int));
**q = 20;
}
int main(){
int *p;
f(&p);
printf("%d", *p);
return 0;
}
按址传递,可行
0 0
- 跨函数使用内存
- 跨函数使用内存
- 跨函数使用内存
- 跨函数使用内存问题
- 跨函数使用内存,动态实现
- C语言 跨函数使用内存.
- 静态内存不能跨函数使用
- 静态变量不能跨函数使用内存
- 动态变量可以跨函数使用内存
- 动态内存可以跨函数使用
- C语言:跨函数使用内存
- 使用虚函数节省内存
- C语言学习笔记(19跨函数使用内存)
- 06-数据结构_预备知识-跨函数使用内存
- 补.从零开始学习C语言--跨函数使用内存
- (四)malloc动态内存分配以及跨函数使用内存
- 显示程序使用最大内存函数
- (内存共享)shmat函数的使用
- 线程同步---死锁
- c++枚举类型
- poj 1469 COURSES 二分图匹配
- apk反汇编之smali语法
- UNIX Domain Socket IPC
- 跨函数使用内存
- 学习TLD一点心得
- Struts2中过滤器和拦截器的区别
- 第四周作业上(2014.3.31)
- 页面刷新与 iframe 重载
- java里的Garbage Collection
- jQuery事件函数的整理
- 组队赛5:二分图+大模拟
- 自动化测试工具