포인터를 사용해서 매개변수로 배열을 넘길 수 있다.
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는 배열 크기를 자동으로 관리한다.
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;
}