이번시간에는 포인터의 개념에 대해서 알아보려고 합니다.
컴퓨터의 메모리에도 메모리 주소가 있는데 그 주소를 저장하는 변수가 포인터입니다.
기본적으로 변수를 만들게 되면 임의의 메모리 주소를 가진 변수를 저장한다.
포인터는 &(주소 연산자)로 AND 연산자와 모양이 같지만 역할이 다릅니다.
예를 들어 변수 NAME의 주소를 나타내고자 한다면 &NAND로 나타낼 수 있습니다.


사진 1의 코드를 실행시켜보면 a에 할당시켜줄 값을 받고 그것을 출력하는 것을 알 수 있습니다. 그런데 &(주소 연산자)를 이용하니 이상한 숫자와 문자들이 나열되어 있는 것을 알 수 있습니다.
이것이 name이 저장된 메모리 주소입니다.
그렇다면 내가 입력하는 값이 아니라 변수 선언과 동시에 초기화를 했다면 다시 실행시켜도 같은 메모리 주소를 가질까요?


아닙니다. 밑의 사진을 보면 아시겠지만 프로그램이 끝난 후에 메모리 공간을 반환하고, 다시 프로그램이 시작할 때 랜덤한 메모리 주소를 받게 됩니다.
그 다음 시간에는 포인터 변수에 대해서 배우겠습니다. 포인터 변수는 일반 변수와 달리 주소를 저장하고 있는 변수입니다.
'코딩공부 > C++기초' 카테고리의 다른 글
| 객체 프로그래밍 C++(포인터를 활용한 스왑) (0) | 2024.03.06 |
|---|---|
| 객체 프로그래밍 C++ (포인터 변수, 이중 포인터 변수) (0) | 2024.03.06 |
| 1주차 객체프로그래밍 C++(자료형) 3 (0) | 2024.03.04 |
| 1주차 객체프로그래밍 C++ (변수 선언) 2 (2) | 2024.03.04 |
| 1주차 객체지향프로그래밍 c++편(입출력) 1 (0) | 2024.03.04 |