안녕하세요, C에서 인자가 여럿인 함수는 봤어도 반환값이 여럿인 함수는 못 본 것 같습니다.
C는 포인터와 배열까지 배우고 구조체는 배우다 말았는데요.. 이를 고려해주시고.. 반환값이 여럿인 함수는 어떻게 만드는지 예제를 보여주시면 감사하겠습니다.
C에 반환값이 여럿인 함수는 없죠. 흉내를 낼 뿐.
1. 구조체
struct A { ... }; A func(void) { struct A a; return a; }
2. 인자
int a; double b; void func(int *a, double *b) { *a = 1; *b = 2.0; }
3. 배열
int a[N]; void func(int *a) { a[0] = 1; a[1] = 2; ... }
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
C에 반환값이 여럿인
C에 반환값이 여럿인 함수는 없죠. 흉내를 낼 뿐.
1. 구조체
구조체 포인터 대신 구조체를 바로 넘긴 이유는 포인터를 쓰면 함수 밖에서 free를 해야하므로 개인적으로 선호하지 않기 때문입니다. 자주 쓰는 함수일 경우 성능이 저하될 수 있으므로 주의하세요.
2. 인자
반환값 대신 인자로 주고받는 방식입니다. 반환 받고 싶은 수만큼 인자 수를 늘리면 되지요. ㅎㅎ
3. 배열
같은 타입이 여러 개 필요하다면 배열을 바로 넘기면 되겠죠.
댓글 달기