[c언어] 포인터와 배열

이번에는 C 언어에서 포인터배열의 관계에 대해 알아보겠습니다.

포인터

포인터는 다른 변수의 메모리 주소를 저장하는 변수입니다. 포인터를 사용하면 메모리를 효율적으로 활용하고 복잡한 데이터 구조를 다룰 수 있습니다.

아래는 포인터 변수를 선언하고 사용하는 간단한 예제입니다.

int main() {
    int num = 10;
    int *ptr = #  // 포인터 변수 ptr에 num의 메모리 주소를 저장
    printf("변수 num의 값: %d\n", *ptr);  // *ptr을 통해 해당 주소의 값에 접근
}

배열과 포인터

배열은 연속된 메모리 공간에 저장된 동일한 자료형의 데이터를 나타냅니다. 배열도 포인터와 유사한데, 배열의 이름은 해당 배열의 첫 번째 요소의 주소를 가리키는 포인터 상수입니다.

아래는 배열과 포인터 간의 관계를 보여주는 예제입니다.

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int *ptr = arr;  // 배열의 이름은 포인터 상수와 동일하게 동작
    for (int i = 0; i < 5; i++) {
        printf("%d ", *(ptr + i));  // 포인터 산술을 통해 배열 요소에 접근
    }
}

결론

포인터배열은 C 언어에서 매우 중요한 개념이며, 이들을 함께 사용하면 메모리를 효율적으로 관리하고 복잡한 데이터를 다룰 수 있습니다.

이상으로 C 언어의 포인터와 배열에 대한 간단한 소개를 마치겠습니다.

참고 문헌: GeeksforGeeks - Pointers in C/C++, GeeksforGeeks - Arrays in C/C++