Embedded Programming/C/C++
배열을 함수에 전달하기 (배열을 인수로 전달하기)
중동콜링
2013. 4. 2. 17:49
#include <stdio.h> |
배열을 함수에 전달하는 방법은 포인터 밖에 없다.
위 함수의 원형을 보면,
int largest(int arr[], int last);
로 배열 자체를 전달하는 것으로 보일수도 있으나,
biggest = largest(array, MAX);
위 함수를 호출하는 부분을 보면 배열의 시작주소인 배열 이름을
인수로 전달함으로써, 배열의 시작주소 자체를 보낸다는 것을 알 수 있다.
그리고 largest()함수 내부에서 array의 크기를 출력해봐도 포인터의 크기인
4 byte가 나온다는 것을 확인 할 수 있다.
<수정한 소스>
그러므로 largest()함수의 원형을
int largest(int *arr, int last);
와 같이 바꿔도 사용에는 아무 이상이 없으나,
해당 인수가 배열이라는 것을 표시하기 위해서
int largest(int arr[], int last);
의 형태로 사용한다.