구조를 반환하는 C ++ 및 포인터 배열 및 포인터와 함수를 사용하여 복수의 값을 달성

 

기능을 구현하는 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

 

 

추천

출처www.cnblogs.com/sea-stream/p/11129961.html