函数返回数组指针例程
来源:互联网 发布:最优化的讲解视频 编辑:程序博客网 时间:2024/06/05 16:30
因为你的局部变量是存储在栈中的,函数结束返回的时候,栈顶会下移,在x86的表现是ebp和esp被回复成调用前的值,而对调用函数之前在栈中的内存内容并不做修改,这时你从函数中返回的指针指向的内存没有任何变化,所以你直接访问的时候还会得到那个值(这里很可能是prinft使用栈是没有增长到a[1]指向的地址),如果你在函数返回后立即调用另一个函数,那么该指针地址指向的地方可能被改变,这是该位置的值就未定了。
例如:
#include
int * tain()
{
int x[2]={1,2};
//a=x;
return x;
}
int * tain1()
{
int x[2]={1,3};
//a=x;
return x;
}
main()
{
int *a;
a=tain();
tain1();
printf("%d",a[1]);
}
这是输入的应该不会是2了,应该会是3
例如:
#include
int * tain()
{
int x[2]={1,2};
//a=x;
return x;
}
int * tain1()
{
int x[2]={1,3};
//a=x;
return x;
}
main()
{
int *a;
a=tain();
tain1();
printf("%d",a[1]);
}
这是输入的应该不会是2了,应该会是3
- 函数返回数组指针例程
- 函数返回数组指针
- 函数返回数组指针
- 函数返回指针数组
- 函数返回数组指针
- 返回数组指针的函数
- 返回数组指针的函数
- 关于函数指针数组与返回数组指针的函数
- 函数指针数组与返回数组指针的函数
- 关于函数指针数组与返回数组指针的函数
- 关于函数指针数组与返回数组指针的函数
- 关于函数指针数组与返回数组指针的函数
- 关于函数指针数组与返回数组指针的函数
- 函数指针例程一
- 指针常量/常量指针 数组指针/指针数组 函数指针/指针函数 返回函数指针的函数/返回数组指针的函数
- 使用指针从函数返回一个数组
- 声明返回数组指针的函数
- C++ 返回指向数组指针的函数
- pager_taglib使用
- 十进制转二进制(正整数)
- shell数组归纳用法
- 《淘宝技术这十年》简评
- 函数返回指针和返回数组名的区别 (very good)
- 函数返回数组指针例程
- 大学真的改变了我
- Shadow Map在DirectX9.0 SDK Sample 的实现方法
- C++继承:公有,私有,保护
- 毫秒必争,前端网页性能最佳实践
- 多盟数据:基于LBS的情景式广告更青睐教育场
- 如何利用C++ Builder获取系统的sid信息?
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- 对比Oracle和Mysql在锁机制上的类似和差异点