함수의 리턴값을 다른 함수의 인수로 사용하는 것을 질문하신 것 같은데 가능합니다.
그런데 함수3의 리턴값 2개?는 무슨 의미인가요?
함수는 리턴값을 1개뿐이 갖지 못합니다.
그럼 2개 이상의 값을 변화시킬수 없느냐?라고 물어보실 건데..
이럴때를 대비해서 포인터가 존재하는 것입니다.
#include "stdio.h"
void func(int * e, int * f)
{
*e = *e +1;
*f = *f +1;
return;
}
void main()
{
int a=1,b=2;
int *c,*d;
c=&a;// a의 주소를 포인터변수 c에 할당 - a와 *c는 같다.
printf("a의 주소 : (0x%x)n",&a);
printf("c의 값 : (0x%x)n",c); //c와 d의 값 자체가 주소를 가리킵니다.
d=&b;// b의 주소를 포인터변수 d에 할당 - b와 *d는 같다.
printf("b의 주소 : (0x%x)n",&b);
printf("d의 값 : (0x%x)n",d);
func(c,d);
printf("a=%d, b=%dn",a,b);
return;
}
결과 - 컴퓨터에 따라 주소번지수는 달라질수 있습니다.
a의 주소 : (0x12ff7c)
c의 값 : (0x12ff7c)
b의 주소 : (0x12ff78)
d의 값 : (0x12ff78)
a=2, b=3
그런데 함수3의 리턴값 2개?는 무슨 의미인가요?
함수는 리턴값을 1개뿐이 갖지 못합니다.
그럼 2개 이상의 값을 변화시킬수 없느냐?라고 물어보실 건데..
이럴때를 대비해서 포인터가 존재하는 것입니다.
#include "stdio.h"
void func(int * e, int * f)
{
*e = *e +1;
*f = *f +1;
return;
}
void main()
{
int a=1,b=2;
int *c,*d;
c=&a;// a의 주소를 포인터변수 c에 할당 - a와 *c는 같다.
printf("a의 주소 : (0x%x)n",&a);
printf("c의 값 : (0x%x)n",c); //c와 d의 값 자체가 주소를 가리킵니다.
d=&b;// b의 주소를 포인터변수 d에 할당 - b와 *d는 같다.
printf("b의 주소 : (0x%x)n",&b);
printf("d의 값 : (0x%x)n",d);
func(c,d);
printf("a=%d, b=%dn",a,b);
return;
}
결과 - 컴퓨터에 따라 주소번지수는 달라질수 있습니다.
a의 주소 : (0x12ff7c)
c의 값 : (0x12ff7c)
b의 주소 : (0x12ff78)
d의 값 : (0x12ff78)
a=2, b=3