English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++No devuelve todo el array, sino que puede devolver un puntero al array. Fuera de la función, no se puede devolver la dirección de una variable local. Al hacer la variable local estática, se puede devolver la dirección de la variable local.
A continuación se muestra la sintaxis de retorno de puntero.
int * function_name() { body }
Aquí,
function_name-Nombre de la función proporcionado por el usuario.
A continuación se muestra un ejemplo de retorno de un array desde una función.
#include <iostream> usar espacio de nombres std; int * ret() { static int x[3]; for(int i=0 ; i<5 ; i++) { cout << " " << &x[i]; } devolver x; } int main() { ret(); devolver 0; }
Resultados de salida
0x601180 0x601184 0x601188 0x60118c 0x601190
En el programa anterior,ret()
Se ha creado una función que devuelve un array. Se declara un array estático de tipo int y se imprime la dirección del bloque de memoria asignado.
int * ret() { static int x[3]; for(int i=0 ; i<5 ; i++) { cout << " " << &x[i]; } devolver x; }
enmain()
en la función, esta funciónret()
se llama-
ret();