본문 바로가기

c++

c++ 포인터를 정말 쉽게 알아보자

이번시간에는 많은 사람들이 C++ 을 배우다가 포기하는 단계인 포인터에 대해 설명을 해 보도록 하겠습니다.

 

설명이 어렵더라도 끝까지 읽어보시고, 가장 마지막 부분을 꼭 보시기 바랍니다.

 

C++에서 포인터는 메모리 주소를 저장하는 변수입니다. 포인터는 특정 데이터 타입에 대한 메모리 주소를 저장하며, 해당 메모리 주소에 있는 값을 참조하거나 변경할 수 있습니다.

포인터는 선언할 때 '*' 기호를 사용하여 선언합니다. 예를 들어, int 형 변수의 포인터는 다음과 같이 선언됩니다.

위의 코드에서 '*' 기호는 p가 int 형 변수를 가리키는 포인터임을 나타냅니다.

포인터는 주소 연산자 '&'를 사용하여 변수의 메모리 주소를 얻을 수 있습니다. 예를 들어, 다음 코드는 변수 i의 메모리 주소를 p에 저장합니다.

 

포인터는 간접 참조 연산자 '*'를 사용하여 해당 주소에 있는 값을 참조할 수 있습니다. 예를 들어, 다음 코드는 포인터 p가 가리키는 메모리 주소에 있는 값을 출력합니다.

=====================================================================================

여기까지가 기본적인 내용이며 조금더 쉽게 이야기 하자면

 

데이터를 저장하는 변수는 메모리 상의 어딘가에 위치하게 됩니다. 이때, 포인터는 그 변수가 위치한 메모리 상의 주소를 저장하게 되는 변수입니다.

예를 들어, int 형 변수 i가 메모리 상의 0x100번지에 위치한다면, i를 가리키는 포인터 변수 p는 0x100번지를 저장하게 됩니다.

포인터는 주소값을 저장하기 때문에, 이를 이용하여 해당 주소에 있는 변수의 값을 변경하거나 참조할 수 있습니다.

예를 들어, 다음과 같이 포인터를 이용하여 i의 값을 변경할 수 있습니다.

 

포인터는 C++에서 굉장히 중요한 개념 중 하나이며, 포인터를 이용하면 동적 메모리 할당, 배열, 함수 포인터 등 다양한 고급 기능을 구현할 수 있습니다. 하지만, 포인터를 잘못 사용하면 메모리 오류 등의 심각한 버그를 유발할 수 있으므로, 항상 주의하여 사용해야 합니다.

 

===========================================================================================

자, 마지막으로 가장 쉽게 포인터를 설명해보도록 하겠습니다.

 

당신이 백화점을 가려하는데 그 백화점이 어디 있는지를 모릅니다.때문에 지나가던 사람에게 백화점이 어디있는지 물었을때 그 누군가가 백화점의 주소를 알려주고,당신은 그사람을 통해서 백화점의 주소를 알 수 있고, 그 백화점에 접근하여 물건을 산다던가 하는 행위를 할 수 있습니다.여기서 백화점의 주소를 알고있는 그'누군가'가 바로 포인터의 역할을 한다고 볼 수 있습니다.

 

아직까지 정확히 이해가 되지 않더라도 좌절하고 포기하지말고 계속해서 사용하시다 보면 감이 오실테니너무 걱정하지 않으셔도 괜찮습니다.

'c++' 카테고리의 다른 글

c++에서 레퍼런스와 포인터의 차이를 알아보자  (0) 2023.03.06
c++ 레퍼런스에(& 대해 알아보자(Reference)  (0) 2023.03.06
C++ 클래스, 접근지정자  (0) 2023.03.05
C++ 구조체 (struct)  (0) 2023.03.04
C++ 함수( Function)  (0) 2023.03.04