English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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

C++ non restituisce l'intero array, ma può restituire un puntatore all'array. Fuori dalla funzione, non è possibile restituire l'indirizzo di una variabile locale. Facendo statica la variabile locale, è possibile restituire l'indirizzo della variabile locale.

Ecco la sintassi per restituire un puntatore.

int *function_name()
{ body }

Ecco che qui,

function_name-Nome della funzione fornito dall'utente.

Ecco un esempio di restituzione di un array da una funzione.

Esempio

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

Risultato di output

0x601180 0x601184 0x601188 0x60118c 0x601190

Nel programma sopra,ret()Ecco un esempio di creazione di una funzione che restituisce un array. Dichiarare un array statico di tipo int e stampare l'indirizzo del blocco di memoria assegnato.

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

inmain()All'interno della funzione, la funzioneret()chiamato-

ret();