2009년 9월 4일 금요일

[C/C++] C 포인터와 함수_전달함수

* 함수에서 매개변수 전달하는 방식

 매개변수의 전달이란 함수에 사용될 데이터를 보내는 방법이다.

함수에서 매개변수를 전달하는 방법에는 다음 2가지가 있다.

1) 값 전달 방식(Call by Value)

2) 주소 전달 방식(Call by Address)

C언어에서는 함수의 전달 방식은 기본적으로 값 전달방식을 사용하고 있다.

 

 

※ 값 전달 방식 함수 정의하기 코드

#include <stdio.h>

int sum(int a, int b);

void main()

{

int a = 10, b = 20, c;

c = sum(a, b);

printf(" %d + %d = %d \n", a, b, c);

}

 

int sum(int a, int b)

{

int c;

c = a + b;

return(c);

}

※ 주소 전달방식으로 두 변수 값을 교환하는 함수 정의 코드

#include <stdio.h>

void swap(int *pa, int *pb);

void main()

{

int a = 10, b = 20;

printf("\t swap 함수 호출 전 \n");

printf("\t a => %d, \t b => %d \n", a ,b);

swap(&a, &b);

printf("\n\t swap 함수 호출 후 \n");

printf("\t a => %d, \t b => %d \n", a, b);

}

 

void swap(int *pa, int *pb)

{

int t;

t = *pa;

*pa = *pb;

*pb = t;

}

댓글 없음:

댓글 쓰기