함수 매개변수로 배열을 넘기는 방법

김민수·2025년 1월 8일

C++

목록 보기
13/68

⦁ 배열을 포인터로 넘기는 방법

포인터를 사용해서 매개변수로 배열을 넘길 수 있다.

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

int main() {
    int myArray[] = {1, 2, 3, 4, 5};
    size_t size = sizeof(myArray) / sizeof(myArray[0]);
    printArray(myArray, size); // 배열을 포인터로 넘김
    return 0;
}


⦁ 배열의 크기를 고정해서 넘기는 방법

배열의 크기를 고정해서 명시한 후, 매개변수로 배열을 넘길 수 있다.

void printArray(int arr[5]) {
    for (int i = 0; i < 5; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
}

int main() {
    int myArray[5] = {1, 2, 3, 4, 5};
    printArray(myArray); // 배열과 크기를 함께 넘김
    return 0;
}


⦁ 배열을 참조로 넘기는 방법

참조자를 명시해서 배열을 넘길 수 있습니다. 배열 참조는 배열 크기를 고정하면서, 포인터 사용보다 타입 안전성을 보장한다.

void printArray(int (&arr)[5]) { // 배열 참조로 매개변수 선언
    for (int i = 0; i < 5; ++i) {
        std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
}

int main() {
    int myArray[5] = {1, 2, 3, 4, 5};
    printArray(myArray); // 배열 참조로 전달
    return 0;
}


⦁ std::vector로 배열 넘기는 방법

동적 크기의 배열이 필요한 경우, std::vector를 사용하는 것이 일반적이다. std::vector는 배열 크기를 자동으로 관리한다.

void printVector(const std::vector<int>& vec) {
    for (int elem : vec) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;
}

int main() {
    std::vector<int> myVector = {1, 2, 3, 4, 5};
    printVector(myVector); // 벡터로 전달
    return 0;
}
profile
안녕하세요

0개의 댓글