1,不要return数组的指针(即数组名),这样是错的

函数体内部创建的变量都是局部变量,当函数运行结束的时候,都会抛弃,也就是说你只返回了一个temp指针,这个指针确实是你想要的,这没有问题,但是它指向的内容在函数结束也就是return的那一刻之后就已经物是人非了。所以你用这个这个指针去访问的内容也不是你想要的内容了。

2解决方法:动态内存分配,就是new和delete的配合使用。在函数里用new关键字创建一个数组,这样这块地址对应的内容就属于你管理了,再也不会在函数结束的时候被回收了,你也就可以通过返回的指针来访问数组了,最后再delete一下。

千万不要返回一个局部变量的指针或引用,因为你返回也是没用的,得到的指针所指内容在函数结束后就已经变了。

int *fun2() { int *temp = new int[arrlen];//区别就是这里多个new for (int i = 0; i < arrlen; i++) { temp[i] = i; } return temp; }

在调用后的地方delete

c++ 如何让函数返回数组相关推荐

  1. linux shell 字符串 数组,bash shell函数返回数组字符串

    #!/bin/bash # script:getselfvar.sh # 每个脚本中都在末尾追加了一段特殊的域名ip序列,需要将这段序列存放到数组变量中,供 # 脚本使用,例子中的ip和域名是处理过的 ...

  2. 【转】C 从函数返回数组

    http://www.runoob.com/cprogramming/c-return-arrays-from-function.html C 从函数返回数组 C 数组 C 语言不允许返回一个完整的数 ...

  3. c语言怎么返回数组,c++从函数返回数组的方法代码

    c++如何从函数返回数组? C++ 从函数返回数组 C++ 不允许返回一个完整的数组作为函数的参数.但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针. 如果您想要从函数返回一个一维数组,您 ...

  4. matlab二重指针,VC++中函数返回数组指针或者带指针的结构体的编译方式是否可取? - 程序语言 - 小木虫 - 学术 科研 互动社区...

    libralibra 构造函数+析构函数应该是比较正规的做法吧, 你的结构体/类被提早释放的问题,是不是那个结构体是局部变量,当超出作用域时对象被销毁,如果存在析构函数,会被默认调用, 如果你返回结构 ...

  5. 关于C语言函数返回数组的问题【转】

    (转自:https://blog.csdn.net/earbao/article/details/53401800) 关于C语言函数返回一个数组 c语言中函数不能直接返回一个数组,但是可以用其他方式实 ...

  6. c语言在函数中返回数组,关于C语言函数返回数组的问题

    关于C语言函数返回一个数组 c语言中函数不能直接返回一个数组,但是可以用其他方式实现类似功能,不过需要注意: 1.该数组不能是返回函数的局部变量数组,因为局部变量数组在退出函数后会被释放. 可以是全局 ...

  7. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)

    C语言自定义函数返回数组的方法(图文详解) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: 直接返回str ...

  8. vb.net函数返回数组

    今天写了一个程序需要函数返回数组,看了别的网友的程序发现有bug,特此记录一下 返回函数写法 Private Function Fun_Fp32ToByte(ByVal fp32 As Single) ...

  9. c 语言 函数返回数组_如何在C ++函数中返回数组

    c 语言 函数返回数组 介绍 (Introduction) In this tutorial, we are going to understand how we can return an arra ...

  10. C++ 函数返回数组处理方法

    最近在通过函数返回数组时踩到了一些坑,在此记录一下. 首先C++函数的返回类型没有"数组"这一结构,因此一般情况下我们会采用指针去接受数组的首地址来进行返回.另外由于函数体内定义的 ...

最新文章

  1. 浅谈C/C++中的static和extern关键字
  2. 服务器硬件电路设计书籍,家庭网关硬件接口电路设计大全——电路精选(3)...
  3. Android Service 全解析
  4. Python单元测试之unittest
  5. mysql语句中%代表什么_常用的Mysql语句你知道多少?
  6. phpstudy免费安全检测服务_Phpstudy联合各大安全厂商为用户提供免费安全检测服务...
  7. 学习SpringMVC笔记——Intellij IDEA创建SpringMVC项目
  8. 点火提前角的修正方式有哪些_“天问一号”完成第二次轨道中途修正:精度很高,本次修正量很小...
  9. vue的props实现父组件变化子组件一起变化
  10. 《大数据》2021年第6期目次摘要
  11. Go defer实现原理剖析
  12. 多层神经网络中的正则化代价函数解析
  13. ESP-BOX LVGL ask_wdt: Task watchdog got triggered问题 物联网
  14. linux里的计划任务
  15. 百度地图分不同色块显示某个城市的行政区划,并添加城市(区)名
  16. Linux系统的常见命令记忆【Ubuntu】
  17. 有哪些道理你后悔没有早点知道?
  18. 烧钱?公交免费Wi-Fi面临三大挑战
  19. 用ollydbg手脱ArmadilloV3.60加壳的DLL
  20. 测试相关理解(三)—边界值分析方法

热门文章

  1. 3226 元起,苹果 iPhone SE Plus 曝光:6.1 英寸屏幕,搭载 A14 芯片,支持 Touch ID
  2. 一些好的模式识别数据网站
  3. Linux服务器上部署springboot服务并测试
  4. 暑假集训test14
  5. vue相关的组件化开发和模块化开发及工程化
  6. c语言解析toml文件,使用BurntSushi/toml处理项目中toml格式的配置文件
  7. 565.Array Nesting
  8. 苹果WWDC2023:首款MR头显震撼发布,开发者泪洒现场,一文读懂全新产品及创新功能
  9. PHP7语言基础——Cookie与Session
  10. 计算机接口中 可以直接进行插拔操作的是,计算机应用基础题库及答案二