[c언어] 포인터와 배열의 포인터
프로그래밍에서 포인터는 변수의 메모리 주소를 저장하는 데 사용됩니다. c언어에서 포인터를 사용하면 변수의 메모리 위치에 직접 접근할 수 있습니다. 또한, 배열의 포인터를 사용하면 배열을 간접적으로 참조할 수 있습니다.
포인터
포인터는 다른 변수의 메모리 주소를 저장하는 변수입니다. 이를 통해 메모리를 효율적으로 활용할 수 있습니다. 포인터를 선언하려면 변수 이름 앞에 별표(*
)를 붙입니다.
int *ptr; // 정수형 포인터 선언
위의 예제에서 ptr
은 int
형식의 변수를 가리키는 포인터입니다.
배열의 포인터
배열의 포인터는 배열의 첫 번째 요소를 가리키는 포인터입니다. 배열의 이름은 해당 배열의 첫 번째 요소에 대한 포인터로 해석됩니다.
int arr[5] = {1, 2, 3, 4, 5};
int *ptr = arr; // 배열의 포인터 선언
ptr
은 arr
의 첫 번째 요소를 가리키는 포인터입니다. 이제 ptr
을 통해 배열을 참조할 수 있습니다.
포인터 산술
포인터는 덧셈, 뺄셈과 같은 산술 연산을 수행할 수 있습니다. 예를 들어, ptr + 1
은 다음 배열 요소를 가리킵니다.
int *ptr = &arr[0]; // 배열의 첫 번째 요소를 가리키는 포인터
ptr++; // 다음 배열 요소를 가리킴
여기에서 ptr
에 1을 더해주면, arr
배열의 두 번째 요소를 가리키게 됩니다.
포인터와 배열의 포인터는 효율적인 메모리 관리와 배열 요소에 대한 간접 참조를 가능하게 합니다.
이상으로 c언어에서 포인터와 배열의 포인터에 대한 간단한 소개를 마치겠습니다.
참고 문헌:
- C Programming - Pointers and Arrays (https://www.tutorialspoint.com/cprogramming/c_pointers.htm)