값 객체란 무엇이고, 어디에 사용되는지 알아보자.
지역 변수 및 객체의 참조를 반환(return)해서는 안된다. ★★★
함수내의 지역변수의 참조를 돌려주면 안되기 때문에
아래와 같은 방법을 사용한다.
하지만 대다수의 c 함수들은
위와 같이 참조를 돌려주지 않고
아래와 같이 원래 참조를 받아서 그 받은 참조에 값을 출력한다.
이를 값 객체라고 한다.
값 객체(Value Object), 출력 매개변수 란 무엇인가요?
#include <stdio.h>
typedef struct _point_t {
int x;
int y;
} point_t;
point_t* get_point() {
point_t tmp_pt;
tmp_pt.x = 11;
tmp_pt.y = 22;
return (&tmp_pt);
}
int main() {
point_t* pt1 = NULL;
pt1 = get_point();
printf("point(x,y) = (%d,%d)\\r\\n", pt1->x, pt1->y);
return (0);
}