c++如何从函数返回数组


本文摘自PHP中文网,作者藏色散人,侵删。

c++如何从函数返回数组

C++ 从函数返回数组

C++ 不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。

如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下:

1

2

3

4

5

6

int * myFunction()

{

.

.

.

}

另外,C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。

现在,让我们来看下面的函数,它会生成 10 个随机数,并使用数组来返回它们,具体如下:

实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

#include <iostream>

#include <cstdlib>

#include <ctime>

  

using namespace std;

  

// 要生成和返回随机数的函数

int * getRandom( )

{

  static int  r[10];

  

  // 设置种子

  srand( (unsigned)time( NULL ) );

  for (int i = 0; i < 10; ++i)

  {

    r[i] = rand();

    cout << r[i] << endl;

  }

  

  return r;

}

  

// 要调用上面定义函数的主函数

int main ()

{

   // 一个指向整数的指针

   int *p;

  

   p = getRandom();

   for ( int i = 0; i < 10; i++ )

   {

       cout << "*(p + " << i << ") : ";

       cout << *(p + i) << endl;

   }

  

   return 0;

}

当上面的代码被编译和执行时,它会产生下列结果:

阅读剩余部分

相关阅读 >>

C++换行符有哪些

C++ vector用法是什么

C++中头文件和源文件的区别是什么

基于汇编的 c/C++ 协程(用于服务器)的实现

c语言 三种求回文数的算法

c语言之后学什么?

第五章C++:语句的相关介绍

vC++C++之间有什么区别?

C++中动态内存分配与命名空间介绍

简单工厂factory

更多相关阅读请进入《C++》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...