#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);
의 형태로 사용한다.
'Embedded Programming > C/C++' 카테고리의 다른 글
포인터의 증감연산과 포인터의 자료형 (0) | 2013.04.21 |
---|---|
volatile 변수의 쓰임 (0) | 2013.04.11 |
포인터 연산 (0) | 2013.04.02 |
배열과 포인터 (0) | 2013.04.01 |
다수의 파일로 나누어 작업하기(header file 만들기) (1) | 2013.03.26 |