如何从C ++中的函数返回数组?

C ++不会返回整个数组,但可以返回指向数组的指针。在函数外部,无法返回局部变量的地址。通过使局部变量静态,它可以返回局部变量的地址。

以下是返回指针的语法。

int * function_name()
{ body }

这里,

function_name-用户给定的函数名称。

以下是从函数返回数组的示例。

示例

#include <iostream>
using namespace std;
int * ret() {
   static int x[3];
   for(int i=0 ; i<5 ; i++) {
      cout << " " <<&x[i];
   }
   return x;
}
int main() {
   ret();
   return 0;
}

输出结果

0x601180 0x601184 0x601188 0x60118c 0x601190

在上面的程序中,ret()创建了一个函数并返回一个数组。声明一个静态int类型数组,并打印分配的内存块的地址。

int * ret() {
   static int x[3];
   for(int i=0 ; i<5 ; i++) {
      cout << " " <<&x[i];
   }
   return x;
}

main()函数中,该函数ret()称为-

ret();