배열은 아래와 같이 사용하며, 함수에 넣는 경우 배열 원본이 그대로 들어간다.

#include<stdio.h>
#define STUDENTS 5
int get_average(int score[], int n);

int main(void)
{
	int grade[STUDENTS] = { 1, 2, 3, 4, 5 };
	int avg;
    
	avg = get_average(grade, STUDENTS);
	printf("평균은 %d 입니다.\n", avg);
	return 0; 
}

int get_average(int score[], int n)
{
	int i;
	int sum = 0; 
	for(i = 0; i < n; i++)
		sum += score[i];
	return sum/n; 
}

 

 

 

만약 함수로 넘긴 배열의 값이 함수 안에서 바뀌지 않도록 하고 싶다면 아래와 같이 하면 된다.

 

void print_array(const int a[], int size)
{
	... a[0] = 100;		// 컴파일오류!
}

함수 안에서 변경하려고 하면 오류가 발생된다.

 

 

+ Recent posts