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