[C언어]2차원 배열을 함수 인자로 전달하기
2차원 배열을 함수로전달하는 방법을 인터넷에서 찾아보니 가장 일반적인 방법은 다음과 같았다.
하지만 이와 같은 방법은 호출할 함수에서 배열의 크기를 미리 알아야 한다는 문제가 있기 때문에 "int va[a][b]"와 같이 배열의 크기가 가변적인 상황에서는 이용하기 힘들다. 그래서 생각한 방법이 "배열의 크기가 가변적이라면 크기도 같이 보내주자"였다. 결과적으로 다음과 같은 코드가 작성됬다.
위와 같이 코드를 작성하니 에러가 발생하지 않았으며, warning 조차도 보이지 않았으며, 배열에의 접근도 정상적으로 가능하였다.
void func(int variable[][10]) {
}
int main() {
int va[10][10];
func(va);
}하지만 이와 같은 방법은 호출할 함수에서 배열의 크기를 미리 알아야 한다는 문제가 있기 때문에 "int va[a][b]"와 같이 배열의 크기가 가변적인 상황에서는 이용하기 힘들다. 그래서 생각한 방법이 "배열의 크기가 가변적이라면 크기도 같이 보내주자"였다. 결과적으로 다음과 같은 코드가 작성됬다.
void func(int b, int variable[][b]) {
}
int main() {
int va[10][10];
func(10, va);
}위와 같이 코드를 작성하니 에러가 발생하지 않았으며, warning 조차도 보이지 않았으며, 배열에의 접근도 정상적으로 가능하였다.
감사합니다~^^
답글삭제정보 감사합니다.
답글삭제감사합니다 ㅠㅠ
답글삭제