64.2 2차원 배열 매개변수 사용
, Lee Seok님이 작성괄호를 꼭 묶어야 하는 이유가 있나요?
int (*arr)[5]와 같이 int형 배열의 포인터로 지정하면 2차원 배열을 매개변수로 사용할 수 있습니다. 또한, 대괄호를 두 개 붙일 때와 마찬가지로 대괄호 안에는 2차원 배열의 가로 크기를 지정합니다. 여기서 주의할 점은 (*arr)[5]와 같이 포인터를 괄호로 묶어서 배열의 포인터라는 점을 명확하게 표시해야 합니다. 그리고 포인터로는 2차원 배열의 크기를 알 수 없으므로 다른 매개변수를 통해 배열의 가로, 세로 크기를 받습니다.
void print2DArray(int (*arr)[5], int col, int row) // 매개변수를 포인터로 만든 뒤 가로 크기 지정
Re: 64.2 2차원 배열 매개변수 사용
, 도장_ 관리자님이 작성연산자 우선순위 때문에 반드시 ()가 필요합니다.
C 언어 선언에 혼동을 느끼는 분을 위한 cdecl.org 서비스가 있습니다.
int (*arr)[5];
declare arr as pointer to array 5 of int
int *arr[5];
declare arr as array 5 of pointer to int
둘은 이렇게 다릅니다.
C 언어 코딩 도장은 표기에 C 언어 표준의 표기를 따르는 pointer to, array of를 사용합니다.