"37.6 2차원 배열을 포인터에 넣기" 3차원 사이즈 구하는 부분 오류 아닌가요?
, 김 동환님이 작성3차원 배열의 높이(깊이), 세로, 가로를 구하는 방법은 다음과 같습니다(보통 높이는 깊이를 뜻하는 depth로 표현).
int depth = sizeof(numArr) / sizeof(numArr[0]); // 2: 3차원 배열이 차지하는 전체 공간을 // 면의 크기로 나눠줌 int row = sizeof(numArr[0]) / sizeof(numArr[0][0]); // 3: 한 면의 크기를 가로 한 줄의 크기로 나눠줌 int column = sizeof(numArr[0][0]) / sizeof(int); // 4: 가로 한 줄의 크기를 요소의 크기로 나눠줌
여기서 설명과 방식은 맞는 듯한데 변수의 이름이 잘 못된 듯 싶습니다.
row는 가로 즉 행을 나타내고,
column은 세로 즉 열을 나타내는게 맞는 듯한데 제가 뭐 잘 못 알고 있나요?
Re: "37.6 2차원 배열을 포인터에 넣기" 3차원 사이즈 구하는 부분 오류 아닌가요?
, 도장_ 관리자님이 작성설명 방식은 맞습니다.
이전 답변을 참고해주세요.
n*n 정방형이 아니라 m*n처럼 직사각형이면 반드시 메모리 접근 범위를 벗어나게 되어서 오류가 발생합니다.
설명 방식대로 이해하셔야 합니다.
UNIT 38.8 심사문제에서 대부분 접근 오류가 발생하는 것도 대부분 잘못이해하고 있어서입니다. UNIT 38.8까지 도전해보세요!