이번시간에는 포인터의 개념에 대해서 알아보려고 합니다.

 

 

컴퓨터의 메모리에도 메모리 주소가 있는데 그 주소를 저장하는 변수가 포인터입니다.

 

기본적으로 변수를 만들게 되면 임의의 메모리 주소를 가진 변수를 저장한다. 

 

포인터는 &(주소 연산자)로 AND 연산자와 모양이 같지만 역할이 다릅니다. 

 

예를 들어 변수 NAME의 주소를 나타내고자 한다면 &NAND로 나타낼 수 있습니다.

 

사진1
사진2

 

사진 1의 코드를 실행시켜보면 a에 할당시켜줄 값을 받고 그것을 출력하는 것을 알 수 있습니다. 그런데 &(주소 연산자)를 이용하니 이상한 숫자와 문자들이 나열되어 있는 것을 알 수 있습니다.

 

이것이 name이 저장된 메모리 주소입니다. 

 

그렇다면 내가 입력하는 값이 아니라 변수 선언과 동시에 초기화를 했다면 다시 실행시켜도 같은 메모리 주소를 가질까요?

 

사진 3
사진4

 

아닙니다. 밑의 사진을 보면 아시겠지만 프로그램이 끝난 후에 메모리 공간을 반환하고, 다시 프로그램이 시작할 때 랜덤한 메모리 주소를 받게 됩니다.

 

그 다음 시간에는 포인터 변수에 대해서 배우겠습니다. 포인터 변수는 일반 변수와 달리 주소를 저장하고 있는 변수입니다.

 

+ Recent posts