함수 인자로서의 배열
Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 58번째.
C 언어에서 배열은 함수의 인자로 전달될 수 있습니다. 배열이 함수로 전달될 때, 실제로 전달되는 것은 첫 번째 요소의 메모리 주소입니다.
배열과 이를 인자로 받는 함수를 선언합니다:
void displayArray(int arr[], int size) {
for(int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}배열을 생성하고 함수를 호출합니다:
int numbers[5] = {10, 20, 30, 40, 50};
displayArray(numbers, 5);배열을 함수에 전달할 때, 함수 내부에서 배열에 가해진 변경 사항은 원래 배열에 영향을 미칩니다:
void doubleValues(int arr[], int size) {
for(int i = 0; i < size; i++) {
arr[i] = arr[i] * 2;
}
}
// 함수 호출
doubleValues(numbers, 5);
// 이제 numbers는 {20, 40, 60, 80, 100}을 포함합니다챌린지
쉬움두 개의 인자를 받는 sumArray라는 이름의 함수를 생성하세요:
- 정수 배열 (arr).
- 배열의 크기를 나타내는 정수 (size).
이 함수는 배열의 모든 요소의 합을 계산하여 반환해야 합니다.
그런 다음, main 함수에서:
- 정수 n (배열의 크기)을 읽습니다.
- n개의 정수를 읽어 배열에 저장합니다.
- 배열을 사용하여 sumArray 함수를 호출합니다.
- 합계를 "Sum: X" 형식으로 출력합니다 (여기서 X는 합계입니다).
치트 시트
배열은 참조(첫 번째 요소의 메모리 주소)에 의해 함수로 전달됩니다:
void displayArray(int arr[], int size) {
for(int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}배열 이름과 크기를 사용하여 함수를 호출합니다:
int numbers[5] = {10, 20, 30, 40, 50};
displayArray(numbers, 5);함수 내부에서 배열에 가해진 변경 사항은 원본 배열에 영향을 미칩니다:
void doubleValues(int arr[], int size) {
for(int i = 0; i < size; i++) {
arr[i] = arr[i] * 2;
}
}직접 해보기
#include <stdio.h>
// 여기에 sumArray 함수를 작성하세요
int main() {
int n;
scanf("%d", &n);
int arr[n];
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// sumArray 함수를 호출하고 결과를 출력하세요
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.