구조체와 함수 - 구조체를 함수의 인자로 전달하기, 구조체를 함수의 반환형으로 전달하기

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

함수의 결과로 반환해야 하는 구조체 변수의 주소 지정