본문 바로가기

- Programming/- C++

★ 16. 포인터의 활용 방법

반응형

포인터의 활용 방법!

포인터의 활용법을 봅시다.

 

포인터 사용 방법 글에서 보면 의문을 가질 수 있는것이 바로 a를 바로 참조하면 되는데 뭐하러 포인터를 한번 거쳐서 가느냐? 이것일텐데요.

 

 

Call by Value & Call by Reference

 

값 복사 & 주소값 참조

 

이것만 이해하시면 됩니다.!

 

포인터 변수를 사용하지 않고 보여드릴께요

 

-- Call by Value --

 

void sum (int a, int b)

{

a = 7;

b = 14;

}

 

void main()

{

int a = 5;

int b = 10;

 

cout << a << endl;

cout << b << endl;

 

sum(a, b);

 

cout << a << endl;

cout << b << endl;

}

 

결과는 : 세로 방향으로 5 10 5 10 출력.

 

-- Call by Reference --

 

void sum (int *a, int *b)

{

*a = 7;

*b = 14;

}

 

void main()

{

int a = 5;

int b = 10;

 

cout << a << endl;

cout << b << endl;

 

sum(&a, &b);

 

cout << a << endl;

cout << b << endl;

}

 

결과는 : 세로 방향으로 5 10 7 14 출력.

 

call by value에서는

 

값만 받아와 새로운 변수 a b 를 함수내에서 사용한 것이라

main 함수에 아무 영향을 끼치지 않습니다.

 

call by reperence에서는

 

주소값을 받아와 포인터 변수로 직접 main 함수에 있는

a, b변수의 메모리를 제어하기 때문에

값에 변화를 줄 수 있습니다.

반응형