본문 바로가기
카테고리 없음

배열을 함수에서 사용하려면

by ByteBridge 2013. 2. 20.
반응형

배열을 함수에서 사용하려면 배열의 포인터를 사용하면된다.

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]);

반응형