摘要

函数不能返回数组,但是可以返回数组指针或引用,也可以通过返回指针来实现。
使用类型别名的好处是:你可以用这个类型别名定义变量,变量的元素个数与你返回的数组元素个数相等,访问时可以避免越界问题。


一句话笔记

//数组指针的定义
int arr[10];            // arr是一个含有10个int类型的数组
int *p1[10];            // p1是一个含有10个int指针类型的数组
int (*p2)[10] = &arr;  // p2是一个指针,指向一个含有10个int类型的数组//数组的类型别名
typedef int arrT[10];   // arrT是类型别名,它表示的类型是含有10个int类型的数组
using arrT = int[10];  // 与上面等价//使用数组类型别名来声明函数的返回值
arrT *func(int i);              // func返回一个指向含有10个整数的数组的指针
int (*func(int i))[10];         //与上面等价,不使用类型别名来声明函数的返回值
//使用尾置返回类型(trailing return type)来声明函数的返回值
auto func(int i) -> int(*)[10];  //与上面等价

相关知识点

  • using

相关/参考链接

《C++ prime 第五版》p205

C++ 函数返回数组的方式相关推荐

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

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

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

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

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

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

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

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

  5. C++传入数组给函数和从函数返回数组

    C++传入数组给函数和从函数返回数组 作者:Luyu C++中函数是不能直接返回一个数组的,但是数组其实就是指针,所以可以让函数返回指针来实现.指针存放着数组的首地址,指针这个变量就是存地址的容器. ...

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

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

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

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

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

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

  9. cdecl函数返回值传参方式

    cdecl函数返回值传参方式

最新文章

  1. 【综述专栏】神经网络的可解释性综述
  2. 混合云存储组合拳:基于云存储网关与混合云备份的OSS数据备份方案
  3. 使用axios post 提交数据,后台获取不到提交的数据解决方案
  4. 8、使用SELECTI...INTO OUTFILE导出表数据
  5. tcc读写文本txt文件
  6. 实录 | 平安人寿资深算法工程师张智:人机交互场景下的知识挖掘
  7. 大数据下的BI新特性
  8. 使用Heroku,解决gitment登录失败,报[object ProgressEvent]的错
  9. [!] Attempt to read non existent folder `***********`
  10. Eclipse 工具栏不见了
  11. 开课吧课堂之如何创建多级类层次
  12. 多播报文的发送和接收
  13. MAC编译库的路径问题rpath/install_name
  14. python输入一个三位数输出百位十位个位_编程实现:输入一个三位数,输出其百位、十位、个位上的数字。_学小易找答案...
  15. 疫情情况下酒店办理入住流程
  16. 手把手搭建VuePress文档
  17. 颜色的前世今生10·HSB拾色器详解
  18. STM32 Roadshow 更新 | 生态伙伴演讲定档
  19. html雪花飘落效果,使用js实现雪花飘落效果
  20. windows下mingw32 编译 libusb[实测可行]

热门文章

  1. ZCMU - 2010: company
  2. image在div中有留白如何解决
  3. linux防火墙放开pptpd端口号,Linux下 iptables防火墙 放开相关端口 拒绝相关端口 及查看已放开端口...
  4. 7-12 两个数的简单计算器(分数 10)
  5. 昇腾A200DK【Mindstudio】推理测试
  6. 《android开发艺术探索》读书笔记(二)--IPC机制
  7. 使用移动代理CMPP2.0,3.0协议实现短信发送-Java版,使用华为smproxy.jar包
  8. Linux系统firewall防火墙策略
  9. 图腾柱与互补推挽电路一样吗?药丸哥一起带你深入分析电路!
  10. Python网络爬虫使用BeautifulSoup爬取网页内容并存入数据库案例