지식아일랜드

코딩 기초 30편 _ C++ 코딩 포인터 연산, 포인터와 배열의 관계 본문

C++ 기초

코딩 기초 30편 _ C++ 코딩 포인터 연산, 포인터와 배열의 관계

모르는게 없는 지식인 2023. 6. 23. 10:00
반응형

안녕하세요?

지식아일랜드의 모르는게 없는 지식인입니다.

 

오늘은 C++ 코딩의 포인터 연산, 그리고 포인터와 배열의 관계에 대해 설명드리겠습니다.

 

 

 

포인터 연산

 

C++에서 포인터 연산주소를 가리키는 변수를 사용하여 메모리 상의 데이터에 접근하는 방법입니다.

 

포인터 변수는 메모리 주소를 저장하고 해당 주소의 값을 변경하거나 검색하는 데 사용됩니다.

 

포인터를 선언하려면 변수 이름 앞에 " 기호를 사용합니다.

 

예를 들어 'int' 변수에 대한 포인터는 'int'로 선언됩니다.

 

포인터 연산에는 몇 가지 중요한 연산자가 있습니다.

 

'&'연산자는 변수의 주소를 가져올 때 사용됩니다.

'*' 연산자는 포인터 변수를 역참조하여 해당 주소의 값을 가져오거나 변경하는 데 사용됩니다.

 

포인터 산술 연산주소에 대한 증가 또는 감소를 수행합니다.

 

'+' 및 '-' 연산자를 사용하여 포인터를 이동시킬 수 있습니다.

 

예를 들어, 'ptr++'은 포인터를 다음 주소로 이동시킵니다.

 

또한, 배열과 포인터 간에는 깊은 관계가 있습니다.

 

배열의 이름은 첫 번째 요소를 가리키는 포인터로 해석됩니다.

 

이를 통해 배열 요소에 접근하거나 배열을 함수에 전달할 수 있습니다.

 

포인터는 C++에서 강력하고 유용한 기능이지만,

잘못 사용하면 버그를 일으킬 수 있으므로 주의해야 합니다.

 

포인터 연산을 사용할 때는 정확성과 안전성을 고려하여 코드를 작성하는 것이 중요합니다.

 

 

포인터와 배열의 관계

 

C++에서 포인터와 배열은 깊은 관계를 가지고 있습니다.

 

실제로 배열의 이름해당 배열의 첫 번째 요소를 가리키는 포인터로 해석됩니다.

 

이를 통해 배열의 요소에 접근하거나 배열을 함수에 전달할 수 있습니다.

 

이를 자세히 살펴보겠습니다.

 

 

1. 배열의 이름과 포인터의 관계

 

배열을 선언하면 컴파일러는 해당 배열의 첫 번재 요소에 대한 포인터를 만듭니다.

 

이 포인터는 배열의 이름으로 사용됩니다.

 

예를 들어, 다음과 같이 int형 배열을 선언하면 배열 이름은 첫 번째 요소를 가리키는 포인터로 해석됩니다.

 

int arr[5];   // int형 배열 선언

// 배열의 이름은 첫 번째 요소를 가리키는 포인터로 해석됨
int* ptr = arr;

 

위의 예제에서 ptrarr의 첫 번째 요소를 가리키는 포인터입니다.

 

이제 ptr을 사용하여 배열의 요소에 접근할 수 있습니다.

 

 

2. 포인터를 사용한 배열 요소 접근

 

포인터를 사용하여 배열의 요소에 접근할 수 있습니다.

 

배열의 첫 번째 요소에 대한 포인터를 사용하여

포인터를 증가 또는 감소시키면 다음 또는 이전 요소에 접근할 수 있습니다.

 

다음은 배열의 요소에 접근하는 예제 코드입니다.

 

int arr[5] = {10, 20, 30, 40, 50};
int* ptr = arr;   // 배열의 첫 번째 요소를 가리키는 포인터

// 배여르이 요소에 접근하여 값을 출력
for (int i = 0; i < 5; i++) {
     cout << *ptr << " ";   // 포인터를 역참조하여 값을 출력
     ptr++;   // 다음 요소를 가리키도록 포인터를 증가
}

 

위의 예제에서 ptr을 역참조하여 값을 출력하고, 그 다음 포인터를 증가시켜 다음 요소를 가리킵니다.

 

이를 반복하여 배열의 모든 요소를 출력할 수 있습니다.

 

이상 도움이 되셨기를 바랍니다.

 

반응형
Comments