ホームページ  >  記事  >  バックエンド開発  >  C++で関数から配列を返す方法

C++で関数から配列を返す方法

藏色散人
藏色散人オリジナル
2020-02-10 08:56:285947ブラウズ

C++で関数から配列を返す方法

#c 関数から配列を返すにはどうすればよいですか?

C 関数から配列を返す

C 関数パラメータとして完全な配列を返すことはできません。ただし、インデックスなしで配列名を指定すると、配列へのポインターを返すことができます。

関数から 1 次元配列を返したい場合は、次のようにポインタを返す関数を宣言する必要があります:

int * myFunction()
{
.
.
.
}

さらに、C はアドレスを返すことをサポートしていません。ローカル変数が静的変数として定義されている場合を除き、関数外のローカル変数の。

ここで、次の関数を見てみましょう。この関数は、次のように 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;
}

以上がC++で関数から配列を返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。