기능을 구현하는 C ++ 포인터와 배열을 사용하여 여러 값을 반환
하려면 데모
사용법 #include <iostream> 사용 스페이스 성병; INT * 시험 ( INT , INT , INT ); INT 의 main () { INT의 * = 시험 결과 ( 1 , 2 , 3 ); COUT << 결과 [ 0 ] << ENDL << 결과 [ 1 ] << ENDL << 결과 [ 2 ] << ENDL; getchar가 (); 반환 0 ; } 의 INT * 시험 ( int로 A, INT의 B, INT의 C)를 { INT * = presult새로운 INT [ 3 ]; presult는 [ 0 ] = a 및 presult는 [ 1 ] = B 단계; presult [ 2 ] =의 C; 반환 presult을; }
수출
1 2 3
C ++ 포인터 함수 값 복수 실현하는 구조를 반환
demo2을
사용법 #include <iostream> 사용 스페이스 성병; 구조체 결과 { int로 제; 두 번째; }; 테스트 결과 ( int로 A, 더블 B)를; INT 의 main () { 결과에 ReturnValue = 시험 ( 1 , 2.1234 ); COUT << returnvalue.first << ENDL << returnvalue.second << ENDL; getchar가 (); 반환 0 ; } 결과 시험 ( int로 A, 더블 B)를 { 구조체 결과 RET; ret.first= a 및 ret.second = B; 돌아 권리; }
수출
1 2.1234
Demo3
C ++ 구조체를 리턴 값으로 사용
#INCLUDE <STDIO.H> 의 typedef 구조체 { int로 a 및 INT의 B; 스투}; 스투 getStu ( INT의 X, INT의 Y) { 스투 결과; result.a = X; result.b = Y; 반환 결과를; } INT 의 main () { INT의 A = 2 , B = 3 ; 스투 테스트 = getStu (a, b); 의 printf ( " % D % D \ n " , 해보는, test.b); 반환 0 ; }
수출
2 3
demo4
C ++ 포인터 반환 값 구조로 사용
#INCLUDE <STDIO.H> #INCLUDE <stdlib.h> 의 typedef 구조체 { int로 a 및 INT의 B; 스투}; 스투 * getStu ( INT의 X, INT의 Y) { 스투 * pStu = (스투 *)의 malloc ( sizeof 연산자 (STU)); pStu -> A = X; pStu -> B = Y; 반환 pStu을; } INT 의 main () { INT X = 2 , Y는 = 3 ; 스투 * pStu = getStu (X, Y); 의 printf ( " % D % D \ n" , pStu-> A, pStu-> b), 무료 (pStu) 반환 0 ; }
수출
2 3
참조 :
https://blog.csdn.net/chaipp0607/article/details/64124704/
https://blog.csdn.net/dfq12345/article/details/73924580