1. 程式人生 > 程式設計 >c++從函式返回陣列的方法程式碼

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++如何從函式返回陣列的詳細內容,如果大家還有任何補充可以聯絡我們小編。