배열의 값을 출력하는 함수는 첫 번째 배열 요소의 주소만 알면 되므로 배열 요소의 개수가 달라도 함수의 구현 방법은 같습니다. 다만 배열 요소의 개수가 바뀌면 출력문의 반복 횟수가 달라지므로 함수의 수정은 불가피합니다. 이번에는 배열 요소의 개수가 달라도 원하는 배열을 출력할 수 있는 함수를 만들어보겠습니다.
// 크기가 다른 배열을 출력하는 함수
#include <stdio.h>
void print_ary(int *pa, int size); // 함수 선언, 매개변수 2개
int main(void)
{
int ary1[5] = { 10, 20, 30, 40, 50 }; // 배열 요소의 개수가 5개인 배열
int ary2[7] = { 10, 20, 30, 40, 50, 60, 70 }; // 요소의 개수가 7개인 배열
print_ary(ary1, 5); // ary1 배열 출력, 배열 요소의 개수 전달
printf("\n");
print_ary(ary2, 7); // ary2 배열 출력, 배열 요소의 개수 전달
return 0;
}
void print_art(int *pa, int size) // 배열명과 배열 요소의 개수를 받는 매개변수 선언
{
int i;
for (i = 0; i < size; i++) // size의 값에 따라 반복 횟수 결정
{
printf("%d ", pa[i]);
}
}
함수를 호출할 때 주는 배열 요소의 개수는 sizeof 연산자로 구할 수도 있습니다. sizeof 연산자에 배열명을 사용하면 배열 전체의 크기를 계산하므로 이 값을 배열 요소 하나의 크기로 나누어 배열 요소의 개수를 구합니다.
'프로그래밍언어 > C 언어' 카테고리의 다른 글
[C 언어] 아스키 코드 (0) | 2022.12.09 |
---|---|
[C 언어] 배열에 값을 입력하는 함수 (0) | 2022.12.08 |
[C 언어] 배열의 값을 출력하는 함수 (0) | 2022.12.08 |
[C 언어] 포인터의 뺄셈과 관계 연산 (0) | 2022.12.08 |
[C 언어] 배열명과 포인터의 차이 (0) | 2022.12.08 |