배열의 값을 확인하기 위해 수시로 출력해야 한다면 그 기능을 함수로 만들어 호출하면 됩니다. 이때 모든 배열 요소를 함수의 인수로 줘야 할까요? 첫 번째 배열 요소의 주소만 알면 나머지 배열 요소는 포인터 연산으로 모두 사용할 수 있습니다. 따라서 함수를 호출할 때는 배열명을 주고 함수의 매개변수로 포인터를 선언합니다. 그리고 함수 안에서 포인터를 배열명처럼 사용합니다. 배열명 자체가 주소이므로 그 값을 함수의 인수로 주는 것은 얼마든지 가능합니다.
// 배열을 처리하는 함수
#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로 배열 요소 표현식 사용
}
}
'프로그래밍언어 > C 언어' 카테고리의 다른 글
[C 언어] 배열에 값을 입력하는 함수 (0) | 2022.12.08 |
---|---|
[C 언어] 배열 요소의 개수가 다른 배열도 출력하는 함수 (0) | 2022.12.08 |
[C 언어] 포인터의 뺄셈과 관계 연산 (0) | 2022.12.08 |
[C 언어] 배열명과 포인터의 차이 (0) | 2022.12.08 |
[C 언어] 배열명 역할을 하는 포인터 (0) | 2022.12.08 |