이번시간에는 많은 사람들이 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 |