Menu
Coddy logo textTech

함수 인자로서의 배열

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}을 포함합니다
challenge icon

챌린지

쉬움

두 개의 인자를 받는 sumArray라는 이름의 함수를 생성하세요:

  • 정수 배열 (arr).
  • 배열의 크기를 나타내는 정수 (size).

이 함수는 배열의 모든 요소의 합을 계산하여 반환해야 합니다.

그런 다음, main 함수에서:

  1. 정수 n (배열의 크기)을 읽습니다.
  2. n개의 정수를 읽어 배열에 저장합니다.
  3. 배열을 사용하여 sumArray 함수를 호출합니다.
  4. 합계를 "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;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨