본문 바로가기
프로그래밍언어/C 언어

[C 언어] 배열의 값을 출력하는 함수

by khsnote22 2022. 12. 8.

배열의 값을 확인하기 위해 수시로 출력해야 한다면 그 기능을 함수로 만들어 호출하면 됩니다. 이때 모든 배열 요소를 함수의 인수로 줘야 할까요? 첫 번째 배열 요소의 주소만 알면 나머지 배열 요소는 포인터 연산으로 모두 사용할 수 있습니다. 따라서 함수를 호출할 때는 배열명을 주고 함수의 매개변수로 포인터를 선언합니다. 그리고 함수 안에서 포인터를 배열명처럼 사용합니다. 배열명 자체가 주소이므로 그 값을 함수의 인수로 주는 것은 얼마든지 가능합니다.

// 배열을 처리하는 함수

#include <stdio.h>

void print_ary(int *pa); // 함수 선언

int main(void)
{
	int ary[5] = { 10, 20, 30, 40, 50 };
    
    print_ary(ary); // 배열명을 주고 함수 호출
    
    return 0;
}

void print_ary(int *pa) // 매개변수로 포인터 선언
{
	int i;
    
    for (i = 0; i < 5; i++)
    {
    	printf("%d ", pa[i]); // pa로 배열 요소 표현식 사용
    }
}