본문 바로가기

Language/C

C/C++ 2차원 정적배열을 함수 매개변수로...

일반적으로 동적 배열은 매우 심플하게 Fun(int **a) 라는 형식을 사용하여 매개변수로 넘겨받는게 가능하다.


하지만 C와 C++에서 정적배열 int a[10][5] 을 넘겨줄때는 일반적인 포인터 전달방법이 에러가 난다. 


왜이럴까나.ㄱ- ;; 어짜피 정적이든 동적이든 위치만 다를 뿐 배열자체가 포인터로 움직이게 되는데...


어째든 자꾸 잊어버리고 찾는 일이 잦아서 포스팅  ㄱ ㄱ


정적으로 배열을 선언 하였을때 매개변수로 넣는 방법은 간단하다. 


int a[10][5];



void fun(int (*a)[5])

{

}


행은 포인터로 받고 열은 인덱스로 받는 형식으로 넘기면 된다. 


왜 이렇게 만들어 놨는지는 나중에 조사하면 다나와~