C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

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();

  1. JavaScript関数からオブジェクトを返す方法は?

    JavaScript関数からオブジェクトを返すには、 returnを使用します ステートメント、 this キーワード。 例 次のコードを実行して、JavaScipt関数からオブジェクトを返すことができます- <html>    <head>       <script>          var employee = {             empname: "David"

  2. newを使用してC++で2D配列を宣言するにはどうすればよいですか

    動的2D配列は、基本的に配列へのポインターの配列です。これは、寸法が3x4の2D配列の図です。 アルゴリズム Begin    Declare dimension of the array.    Dynamic allocate 2D array a[][] using new.    Fill the array with the elements.    Print the array.    Clear the memory by deleting it. End サンプルコード