Search
Duplicate

2차원 배열/포인터 매개변수로 넘기기

간단소개
매개변수로 넘기는거 다 똑같은거 아닌가요?
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
C
C++
Scrap
태그
배열
포인터
9 more properties
2차원 배열을 매개변수로 넘겨줄때와, 2차원 포인터를 넘겨줄 때 형식이 다르다.

1. 2차원 배열인 경우

void example (int array[][10]){ //... } int main() { int array[10][10]; example(array); return 0; }
C++
복사
첫 번째 대괄호 안에는 세로 크기를 지정하더라도 무시된다

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; }
C++
복사

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;
C++
복사
이 글을 쓰는 이유는 내가 main 에서 2차원 배열을 선언하고 2차원 포인터로 매개변수를 받았기 때문이다^^;; 2차원 배열과 2차원 포인터는 동일하지 않다.
에러가 떴었다~