2차원 배열을 매개변수로 넘겨줄때와, 2차원 포인터를 넘겨줄 때 형식이 다르다.

1. 2차원 배열인 경우

void example (int array[][10]){
    //...
}

int main() {
    int array[10][10];
    example(array);
    return 0;
}

첫 번째 대괄호 안에는 세로 크기를 지정하더라도 무시된다

2. 배열을 포함하는 포인터 경우

void example (int *array[10]){
    //...
}

int main() {
    int *array[10];
    for(int i=0; i<10; i++)
        array[i] = new int[10];
    example(array);
    return 0;
}

3. 2차원 포인터인 경우

void example (int **array){
    //...
}

int main() {
    int **array;
    array = new int *[10];
    for(int i=0; i<10; i++)
        array[i] = new int[10];
    example(array);
    return 0;

이 글을 쓰는 이유는 내가 main 에서 2차원 배열을 선언하고 2차원 포인터로 매개변수를 받았기 때문이다^^;; 2차원 배열과 2차원 포인터는 동일하지 않다.

Untitled

에러가 떴었다~

블로그링크 : https://blog.naver.com/min_gi1123/222704804823