반응형
배열을 함수에서 사용하려면 배열의 포인터를 사용하면된다.
1차원배열을 함수에서 사용하려면 함수의 선언을 다음과 같이 해야한다.
void func1(int*p);
함수의 본체가 다음과 같을때
void func1(int*p){....}
함수의 호출은 1차원배열의 포인터에 배열명을 대입하듯하면된다.
int array[5];
func1(array);또는 func(&array[0]);
만약 함수에 3번째 배열요소를 전달하려면
func(&array[2]);
포인터를 사용한 선언과 바꿔 사용할수도잇다.
void func(itnn p[]);
void func(int p[5]);
배열요소중 하나의 값을 함수에서 전달 받으려면 함수를 다음과 같이 선언해야한다.
void fund(int val)
{
cout<<val<<endl;
}
fund(array[0]);//int array[5];일때,array[0] ~ array[4] 까지 사용가능하다.
2차원배열을 함수에서 사용하려면
2차원배열의 포인터를 함수의 매개변수로 사용하면 된다.
주의할것은 2차원배열을 선언할때와 마찬가지로 배열에 맞는 크기를 사용해야한다.
아래와 같이 array 가 선언되어있을경우 array를 함수에 전달하기 위해서는
int array[2][5];
아래와 같이 2차원배열의 포인터를 사용해야한다.
void myfunc(int (*p)[5]);
함수의 호출은 2차원배열의 포인터에 배열명을 대입하듯한다.
int array[2][5];
myfunc(array);//또는 myfunc(&array[0]);
반응형