오늘 하루 쫙~ 강좌 나가봅시다!!
잼군요 하핫;;
*이 강좌는 C언어를 끝냈다는 가정하에 실시합니다.
┌───────────────┐
---앞으로의 목차---
2-2. Reference란.
2-3. 레퍼런스와 함수
2-4. 레퍼런스의 이용
└───────────────┘
2-2. Reference란.
레퍼런스가 무엇일까요?
이해를 돕기위해 간단한 예를 들어 이야기해 봅시다.
우리는 사람을 부를때에 이름으로 부르기도 하지만, 그 사람의 별명을 가지고 그 사람을 이야기 하기도 합니다.
즉, 여기서의 "이름"과 "별명"에 대해
"이름"=="별명"
이 성립하는 것이죠.
이것이 레퍼런스 입니다.
이미 존재하는 변수에 별명을 부여해 주는 것이죠.
레퍼런스를 선언하는 방법, 즉 별명을 붙이는 방법은 간단합니다.
int형 val이라는 변수가 있을때에,
int &ref=val;
의 한줄로써 별명을 만들수 있습니다.
?? 한가지 이해가 안가는 부분이 있군요.
'&'
연산자는 C의 포인터에서도 사용하였습니다.
그러고 보니 레퍼런스가 포인터와 비슷한거 같기도 하고요.
(하지만 포인터는 "주소값"을, 레퍼런스는 "변수 제2명"에 대해 다릅니다.)
하지만 아래의 예제를 보면 분명 다르다는 것을 알수 있습니다.
int main(){
int val=0;
int *ptr=&val; //주소값 얻어오기
int &ref=val; //레퍼런스 선언
return 0;
}
어때요? 다르죠? 하핫;;
레퍼런스를 선언할때에는 단 1가지 규칙만이 필요합니다.
- 변수명을 대입하여 초기화 하여야 한다.
간단하죠?
따라서, 요약하면,
레퍼런스는 하나의 메모리 공간에 2개 이상의 이름을 붙여주는 것
입니다.
레퍼런스는 포인터 연산에 유리하다는 듯, 여러가지 장점이 있습니다.
적어도 포인터 연산을 잘못해서 에러가 나는 일은 없으니까요.
이상으로 다음강에서 뵙겠습니다!
댓글 없음:
댓글 쓰기