반응형
포인터의 활용 방법!
포인터의 활용법을 봅시다.
포인터 사용 방법 글에서 보면 의문을 가질 수 있는것이 바로 a를 바로 참조하면 되는데 뭐하러 포인터를 한번 거쳐서 가느냐? 이것일텐데요.
값 복사 & 주소값 참조
이것만 이해하시면 됩니다.!
포인터 변수를 사용하지 않고 보여드릴께요
-- 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변수의 메모리를 제어하기 때문에
값에 변화를 줄 수 있습니다.
반응형
'- Programming > - C++' 카테고리의 다른 글
★ 17. 카드 게임 만들기 (0) | 2015.12.30 |
---|---|
★ 15. 포인터의 사용 방법 (0) | 2015.12.29 |
★ 14. 숫자 빙고 게임 만들기 (0) | 2015.12.29 |
★ 13. 숫자 야구 게임 만들기 (3) | 2015.12.29 |
★ 12. 랜덤 함수를 이용한 로또 번호 뽑기 - 2 (0) | 2015.12.28 |