C++ 从函数或方法返回内存 实现返回多个变量.docx

上传人:A*** 文档编号:142725099 上传时间:2020-08-22 格式:DOCX 页数:2 大小:11.02KB
返回 下载 相关 举报
C++ 从函数或方法返回内存 实现返回多个变量.docx_第1页
第1页 / 共2页
C++ 从函数或方法返回内存 实现返回多个变量.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《C++ 从函数或方法返回内存 实现返回多个变量.docx》由会员分享,可在线阅读,更多相关《C++ 从函数或方法返回内存 实现返回多个变量.docx(2页珍藏版)》请在金锄头文库上搜索。

1、C+ 从函数或方法返回内存 实现返回多个变量实现在函数中定义一个指针,程序运行时(而非编译时)给这个指针动态分配一块内存空间,指针指向这块内存的起始地址。分析这块动态分配的空间存储的内容:第一个字节存储整个数组的长度count后面的字节存储数组应该存放的int型数字所有这些内存均通过指针的偏移*(p+i)访问让函数返回一个指针p,即这段动态内存的首地址这样就可以在main函数中访问这些地址注意任何一个函数都不应该把自己的局部变量的指针作为他的返回值。因为局部变量在栈里,函数结束会自动释放。如果你想让一个函数在不会留下任何隐患的情况下返回一个指针,那他只能是一个动态分配的内存块的基地址。代码/用

2、函数返回内存/目的:从函数中定义一个一个a10,赋值为110,返回给主函数,在主函数中调用#include#includeint *array() int *p;/该函数关键部分:指向内存的指针 int count;/用户自定义数组的个数 int t;/临时接收用户的输入 int i;/用于指针的偏移 std:cout 你要输入几个数? count; /new其实是对malloc的封装 p = new intcount + 1;/为了让count跟随数组一起返回,在new的时候多申请一个字节的内存,偷偷把count存在数组第一个内存中 *(p + 0) = count; std:cout 请输入: std:endl; for (i = 1; i t; *(p + i) = t; return p;/不仅返回了count,还返回了整个数组int main() int *ptr; int i; int count; ptr = array(); count = *(ptr + 0);/取到count的值 for (i = 1; i count + 1; i+) std:cout a i = *(ptr + i) std:endl; delete ptr;/释放ptr指向的内存块 ptr = NULL;/指针指向null system(pause);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号