CODEDRAGON ㆍDevelopment/C, C++
구조체와 함수
전달 방식 | 설명 |
구조체를 함수의 인자로 전달하기 | 값에 의한 호출과 주소에 의한 호출 |
구조체를 함수의 반환형으로 전달하기 | 값 반환과 주소 반환 |
구조체를 함수의 인자로 전달하기
값에 의한 호출(Call by Value)
함수의 인자(정수형 변수) | 함수의 인자(구조체형 변수) |
void function(int a){
} | void function(struct point a){
} |
주소에 의한 호출 (Call by Reference)
함수의 인자(정수형 포인터 변수) | 함수의 인자(구조체 포인터 변수) |
void function(int* a){
} | void function(struct point* a){
} |
구조체를 함수의 반환형으로 전달하기
구조체의 값(value)을 반환(return)하는 함수
struct point function(){ //struct point(반환형태는 구조체 값) struct point sp={10, 20}; return sp; //구조체 변수의 이름 } |
반환 형태 | struct point | 함수가 반환해야 할 구조체 변수의 자료형 지정 |
구조체 변수 이름 | sp | 함수의 결과로 반환해야 하는 구조체 변수의 이름 지정 |
구조체 주소(reference)를 반환(return)하는 함수
struct point* function(){ //struct point*(반환 형태는 구조체 주소)
static struct point sp={10, 20}; return &sp; //구조체 변수의 주소 } |
반환 형태 | struct point* | 함수가 반환해야 할 구조체 변수의 자료형 지정 |
구조체 변수 이름 | &sp | 함수의 결과로 반환해야 하는 구조체 변수의 주소 지정 |
'Development > C, C++' 카테고리의 다른 글
포인터와 함수 - 값에 의한 호출(Call By Value), 주소에 의한 호출(Call By Reference) (0) | 2015.07.31 |
---|---|
열거형(enumerate) (0) | 2015.07.31 |
공용체, 구조체 vs 공용체 (0) | 2015.07.30 |
Ex67-포인터를 이용하여 두 값 교환 개념 (0) | 2015.07.29 |
fgetc( ) 함수와 fputc( ) 함수 (0) | 2015.07.29 |