Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어에서 배열의 개별 요소를 함수 인수로 전달하는 방법

배열(array)은 서로 관련된 항목들을 하나의 공통된 이름으로 저장하는 자료구조입니다.

배열 선언

배열을 선언할 때 사용하는 기본 문법은 다음과 같습니다.

datatype array_name [size];

배열 초기화

배열은 크게 두 가지 방법으로 초기화할 수 있습니다.

  • 컴파일 타임(compile time) 초기화
  • 런타임(runtime) 초기화

또한, 다음과 같이 선언과 동시에 초기화하는 것도 가능합니다.

int a[5] = {100,200,300,400,500};

함수란?

함수(function)는 특정하고 명확하게 정의된 작업을 수행하는 독립적인 코드 블록입니다. C 언어에서 배열을 함수의 인수로 전달하는 방법에는 두 가지가 있습니다.

  • 배열 전체를 하나의 인수로 함수에 전달하는 방법
  • 배열의 개별 요소를 인수로 함수에 전달하는 방법

이번 글에서는 그중 개별 요소를 인수로 전달하는 방법에 대해 자세히 알아보겠습니다.

개별 요소를 인수로 전달하기

배열의 개별 요소를 함수의 인수로 전달할 때는 다음 두 가지 사항을 기억해야 합니다.

  • 개별 요소를 인수로 넘기려면, 함수를 호출할 때 첨자(subscript)를 포함한 배열 요소를 직접 지정해야 합니다. 예를 들어 a[0], a[4]처럼 작성합니다.
  • 전달받은 요소를 저장하기 위해서는 함수 정의 쪽에서 일반 변수를 사용합니다.

예제 1: 첫 번째와 마지막 요소 전달하기

다음 프로그램을 참고해 보세요.

#include<stdio.h>
main ( ){
   void display (int, int);
   int a[5], i;
   printf ("enter 5 elements");
   for (i=0; i<5; i++)
      scanf("%d", &a[i]);
      display (a [0], a[4]); // 배열 이름과 첨자로 개별 요소 전달
   }
   void display (int a, int b){ // 일반 변수로 개별 요소 수신
      printf ("first element = %d",a);
      printf ("last element = %d",b);
}

실행 결과

위 프로그램을 컴파일하고 실행하면 다음과 같은 결과가 출력됩니다.

Enter 5 elements
10 20 30 40 50
First element = 10
Last element = 50

예제 2: 여러 위치의 요소 전달하기

이번에는 세 개의 개별 요소를 동시에 전달하는 예제입니다.

#include<stdio.h>
main ( ){
   void display (int,int,int);
   int a[6], i;
   printf ("enter 5 elements");
   for (i=0; i<6; i++)
      scanf("%d", &a[i]);
   display (a[0],a[2],a[5]); // 배열 이름과 첨자로 개별 요소 전달
}
void display (int a, int b,int c){// 일반 변수로 개별 요소 수신
   printf ("first element = %d\n",a);
   printf ("middle element = %d\n",b);
   printf("last element = %d",c);
}

실행 결과

위 프로그램을 컴파일하고 실행하면 다음과 같은 결과가 출력됩니다.

enter 5 elements
10
20
30
40
50
60
first element = 10
middle element = 30
last element = 60

정리

C 언어에서 배열의 개별 요소를 함수로 전달하는 것은 매우 간단합니다. 함수 호출 시 배열명[첨자] 형태로 원하는 요소를 지정하면 되고, 함수 정의에서는 해당 값을 받을 일반 변수를 선언해 주면 됩니다. 이 방식은 배열 전체가 아닌 필요한 값만 전달하므로, 특정 요소만 처리하고 싶을 때 유용하게 활용할 수 있습니다.