난 그냥 코드가 깨지거나하지 않을 여부를 확인하기 위해 C에서 다음 코드를 썼다. 다차원 배열 : int A [5][2][3]
을 선언 할 때 개념적으로 첫 번째 수준의 A는 5 개의 요소 (0 - 4)의 1 차원 배열이고 해당 배열의 모든 요소는 그 자체로 1 차원 배열 2 요소 및 그 배열의 모든 요소는 3 요소의 1 차원 배열입니까? 그 개념이 정확하다면, A[6][0][0]
도 존재할 수 있습니다 - 첫 번째 단계에는 5 개의 요소 (0 기반) 만 있기 때문에.다차원 배열과 주소
도움이 되었다면 크게 감사하겠습니다.
그래서 정수 주소를 제공하는 대신 끊어서는 안됩니다. 그 정수 주소 란 무엇입니까? 선언 된 배열에있는 요소의 주소를 나타내지 않는 임의의 숫자입니까? –
@ John Nash : 아니, 깨질 수는 있지만 꼭 할 필요는 없습니다. 정의되지 않은 동작이 발생하면 아무 일도 일어나지 않을 것이므로 표준 단어라고 말합니다. 전체 프로그램은 ASCI 아트를 인쇄하는 것과 같이 완전히 다른 것을 결정할 수 있으며 여전히 합법적입니다. –
@ John Nash : A [5]는 ** 임의의 주소가 아니며 메모리에 잘 정의 된 장소입니다 :'* (A + 5)'. 그것은 선언 된 배열을 지나서 메모리의 다음 위치입니다. – pb2q