프로그래밍/C++

참조 연산자(&)와 참조 변수

DevIt 2013. 3. 29. 19:00

 참조형은 변수에 대한 별명을 만드는 것입니다. 같은 메모리 주소를 가르키지만 이름이 다른 변수를 선언한다고 보면 됩니다.


참조 변수를 선언하는 기본 형태는 아래와 같습니다.


 int nValue;
 int &nVal = nValue;


 참조 변수는 이미 선언한 다른 변수를 참조합니다. 원래 변수 값을 바꿀 수도 있습니다.


#include <iostream>

using namespace std;


void increase1(int *nVal) //포인터 인자

{

(*nVal)++;

}


void increase2(int nVal) //정수형 인자

{

nVal++;

}


void increase3(int &nVal) //참조형 인자

{

nVal++;

}


void main(){


int nValue=10;


increase1(&nValue); //포인터 인자를 가진 함수를 부를 때는 메모리 주소 혹은 포인터를 넘김

cout << nValue << endl;

increase2(nValue); //데이터형에 맞는 변수를 넘김

cout << nValue << endl;


    increase3(nValue);         //참조형 인자를 가진 함수를 부를 때는 반드시 변수를 넘김

cout << nValue << endl;


system("pause");

}


 C언어는 함수에서 바꾼 값을 받아오려면 포인터를 이용해야 합니다. C++에서는 포인터 또는 참조를 이용해서 함수 내에서 바꾼 값을 받아옵니다.