작성
·
209
0
int row = 3, col = 2;
int(*ptr2d)[2] = (int(*)[2])malloc(sizeof(int) * row * col);
이 라인에서 2차원 배열 포인터를 만들 때 포인터 변수 뒤에 왜 column 값을 넣어주는 건가요? 저는 같은 row끼리는 같은 포인터 변수를 사용하여 연산할 수 있으므로 row가 넘어갈 때 포인터 변수의 인덱스가 바뀌어야한다고 생각했습니다. 그리고 malloc의 타입 변환에서 (int(*)[2]) 이렇게 선언하는 것도 잘 이해가 안됩니다. 저런 자료형도 존재하는 건가요? 그냥 규칙이라고 받아들여야하나요?