[c++] 배열과 포인터를 사용한 함수 호출

프로그래밍에서 함수는 코드를 구조화하고 재사용 가능하게 만들어줍니다. C++에서 배열과 포인터를 사용하여 함수를 호출하는 방법을 알아보겠습니다.

배열을 인자로 받는 함수

배열을 인자로 받는 함수를 정의할 때, 배열의 크기는 반드시 명시해야 합니다. 예를 들어, int형 배열을 받는 함수를 만들고자 한다면 다음과 같이 작성할 수 있습니다:

void printArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
}

위의 printArray 함수는 int형 배열과 배열의 크기를 받아 각 요소를 출력하는 역할을 수행합니다.

포인터를 사용한 함수 호출

포인터를 사용하여 배열을 함수에 전달하는 경우, 배열의 첫 번째 요소에 대한 포인터를 전달합니다. 다음과 같은 함수를 사용하여 배열을 전달할 수 있습니다:

void printArray(int* arr, int size) {
    for (int i = 0; i < size; i++) {
        cout << *(arr + i) << " ";
    }
}

배열의 이름은 해당 배열의 첫 번째 요소에 대한 포인터로 해석되기 때문에, 이러한 방식으로 배열을 함수에 전달할 수 있습니다.

예제

다음은 배열과 포인터를 사용하여 함수를 호출하는 간단한 예제 코드입니다:

#include <iostream>
using namespace std;

void printArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
}

int main() {
    int numbers[] = {1, 2, 3, 4, 5};
    int length = sizeof(numbers) / sizeof(numbers[0]);

    printArray(numbers, length);

    return 0;
}

위의 예제에서 printArray 함수는 numbers 배열과 배열의 크기를 받아 각 요소를 출력합니다.

배열과 포인터를 사용한 함수 호출은 C++ 프로그래밍에서 중요한 개념이며, 코드의 유연성과 재사용성을 향상시키는데 도움이 됩니다. 배열 또는 포인터를 함수에 전달할 때, 배열의 크기나 포인터의 유효성에 대한 고려가 중요합니다.

참고 자료

위의 자료는 C++ 배열과 포인터에 대해 자세히 다루고 있습니다.