잘 이해해보자.
T형 포인터를 인자로 받을수 있다.
T형 포인터를 리턴할수도 있다.
T형 포인터를 인자로 받고, return 할수도 있다.
T가 int라면 int형 배열이고
T가 함수라면, 함수 포인터 배열도 된다는 말이다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
// 연습용으로, T형을 하나 만들었다.
// T라는 이름보다, foo_t라는 이름으로 변경
typedef struct _foo_t {
int a;
int b;
} foo_t;
void write_foo(foo_t foo) {
printf("foo.a=%d\\r\\n", foo.a);
printf("foo.b=%d\\r\\n", foo.b);
}
foo_t read_foo() {
foo_t foo;
foo.a = 1;
foo.b = 2;
return foo;
}
int main() {
foo_t foo1;
foo1.a = 11;
foo1.b = 22;
write_foo(foo1);
foo_t foo2;
foo2 = read_foo();
printf("foo2.a=%d\\r\\n", foo2.a);
printf("foo2.b=%d\\r\\n", foo2.b);
return 0;
}
함수 포인터를 인자로 받을수 있다.
함수 포인터를 리턴할수도 있다.
함수 포인터를 인자로 받고, return 할수도 있다.