c++从函数返回数组的方法代码

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

C++ 从函数返回数组

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

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

int * myFunction()

{

.

.

.

}

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

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

实例

#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;

}

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

624723190

1468735695

807113585

976495677

613357504

1377296355

1530315259

1778906708

1820354158

667126415

*(p + 0) : 624723190

*(p + 1) : 1468735695

*(p + 2) : 807113585

*(p + 3) : 976495677

*(p + 4) : 613357504

*(p + 5) : 1377296355

*(p + 6) : 1530315259

*(p + 7) : 1778906708

*(p + 8) : 1820354158

*(p + 9) : 667126415

以上就是c++如何从函数返回数组的详细内容,如果大家还有任何补充可以联系我们小编。

(0)

相关推荐

  • python调用c++ ctype list传数组或者返回数组的方法

    示例1: pycallclass.cpp: #include <iostream> using namespace std; typedef unsigned char BYTE; #define MAX_COUNT 20 struct tagOutCardResult_py { BYTE cbCardCount; BYTE cbResultCard1; BYTE cbResultCard2; BYTE cbResultCard3; BYTE cbResultCard4; BYTE cbRes

  • c++从函数返回数组的方法代码

    c++如何从函数返回数组? C++ 从函数返回数组 C++ 不允许返回一个完整的数组作为函数的参数.但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针. 如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下: int * myFunction() { . . . } 另外,C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量. 现在,让我们来看下面的函数,它会生成 10 个随机数,并使用数组来返回它们,具体如下: 实例 #include <i

  • C++ 让函数返回数组的方法

    这个问题属于非常初级的问题,但是对于初学不知道的人可能会比较头疼.C++ 中函数是不能直接返回一个数组的,但是数组其实就是指针,所以可以让函数返回指针来实现.比如一个矩阵相乘的函数,很容易地我们就写成: #include <iostream> using namespace std; float* MultMatrix(float A[4], float B[4]) { float M[4]; M[0] = A[0]*B[0] + A[1]*B[2]; M[1] = A[0]*B[1] + A

  • 用JS编写一个函数,返回数组中重复出现过的元素(实例)

    用JS编写一个函数,返回数组中重复出现过的元素,见下面的代码: var arr = [1, 2, 3, 1, 2, 3, 4, 5]; var getRepeat = function (arr) { var obj = {}; for (var i = 0, len = arr.length; i < len; i++) { if (obj[arr[i]] == undefined) { obj[arr[i]] = 1; } else { obj[arr[i]]++; } } for (var

  • php中使用key,value,current,next和prev函数遍历数组的方法

    本文实例讲述了php中使用key,value,current,next和prev函数遍历数组的方法.分享给大家供大家参考.具体分析如下: php中针对数组遍历有一系列的函数使我们可以非常方便的操作数组,要遍历一个数组,第一步就是要将指针指向数组开头,使用reset()函数. 使用prev()和next()函数可以查看数组的上一个和下一个元素.在然和位置都可以使用current()函数获得当前的值,使用key()函数获得键值 $array = array('foo' => 'bar', 'baz'

  • PHP 返回数组后处理方法(开户成功后弹窗提示)

    1. 在注册的时候,注册成功后经常会弹窗提示自己注册的信息,这类做法需要返回mysql数据库中获取的数组值,返回给前台页面,赋值给弹窗. 2.做法: 返回数组 打印的数组的值 返回数组处理 赋值给弹窗,赋值html赋给div 弹窗页面 以上所述是小编给大家介绍的PHP 返回数组后处理方法(开户成功后弹窗提示),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

  • JavaScript遍历数组的方法代码实例

    这篇文章主要介绍了JavaScript遍历数组的方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 for循环 let arr=["A","B","C","D","E","F"]; for(let i=0;i<arr.length;i++){ console.log(arr[i]); } for...of 遍历出数组中的每

  • C语言中函数返回字符串的方法汇总

    在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来的是个地址,函数也就会拷贝该地址供自己使用.同样return返回时,如果返回一个值,函数会将该值拷贝一份以提供给主调函数使用,返回的是一个指针(也就是地址),自然拷贝的就是一个地址,供主调函数使用. 先给出一个错误的例子: #include <stdio.h> #include <strin

  • php json_encode()函数返回json数据实例代码

    json_encode()函数用法. echo json_encode(array('a'=>'bbbb','c'=>'ddddd'); 这样就会生成一个标准的json格式的数据 代码如下 <?php //需要执行的SQL语句 //单条 $sql="select id,name from tbl_user where id=1"; //多条数据 //$sql="select id,name from tbl_user"; //调用conn.php文

  • 存储过程返回数组对象示例代码

    其实就相当于返回List里面放的对象数据,定义如下 1.创建存储过程对象 复制代码 代码如下: CREATE OR REPLACE TYPE "T_ACCOUNT_MONTH" as object( ACCOUNT_ID NUMBER, INIT_AMOUNT NUMBER, DEBIT_AMOUNT NUMBER, CREDIT_AMOUNT NUMBER ) 2.创建存数过程数组 复制代码 代码如下: CREATE OR REPLACE TYPE "T_ACCOUNT_M

随机推荐