다차원 배열 (C)

아래 첨자 식이 여러 아래 첨자, 다음과 같이 할 수도 있습니다.

expression1 [expression2] [expression3]...

아래 첨자 식을 왼쪽에서 오른쪽으로 연결합니다.맨 왼쪽 아래 첨자 식이, 를 합하여식 2, 먼저 계산 됩니다.에 추가 하는 주소 를 합하여식 2 형성 포인터 식입니다. 그런 다음 expression3 마지막 첨자 식이 추가 되었습니다 때까지 새 포인터 식이를 형성 포인터 식에 추가 됩니다.간접 참조 연산자 (*) 최종 포인터 값 주소 배열을 (아래 예제 참조)를 입력 하지 않으면 마지막 아래 첨자 식이 계산 된 후에 적용 됩니다.

여러 첨자로 구성 된 식 "다차원 배열의" 요소를 참조 하십시오. 다차원 배열의 요소에는 배열이입니다.예를 들어, 3 차원 배열의 첫 번째 요소를 2 차원 배열입니다.

예제

다음 예제에 대 한 배열 이라는 prop 각각의 4-6 배열입니다 세 가지 요소에 선언 된 int 값입니다.

int prop[3][4][6];
int i, *ip, (*ipp)[6];

에 대 한 참조를 prop 배열을 다음과 같이 보입니다:

i = prop[0][0][1];

위의 예제에서 두 번째 참조 하는 방법을 보여 줍니다 개별 int 의 요소 prop.배열 행을 기준으로 저장 되므로 마지막으로 아래 첨자 가장 신속 하 게 달라 집니다. 식 prop[0][0][2] 배열 및의의 (3) 다음 요소를 참조 합니다.

i = prop[2][1][3];

이 문은 배열의 각 요소에 대 한 복잡 한 참조 된 prop.식이 다음과 같이 계산 됩니다.

  1. 첫 번째 아래 첨자를 2, 4-의해-6는 크기를 곱한 값입니다 int 는 배열 및 포인터 값에 추가 prop.결과에 세 번째가 4-6 배열을 가리키는 prop.

  2. 두 번째 아래 첨자를 1, 6 요소는 크기를 곱한 값입니다 int 표시 된 주소에 추가 하 고 배열 prop[2].

  3. 6 요소 배열의 각 요소는 int 가치, 그렇게 첨자의 최종 3에서의 크기를 곱한 값입니다는 int 추가 되기 전에 prop[2][1].결과 포인터 6 요소 배열의 네 번째 요소를 설명합니다.

  4. 간접 참조 연산자는 포인터 값에 적용 됩니다.그 결과 int 요소 주소.

다음 예제에서는 표시 경우 간접 참조 연산자가 적용 되지 않습니다.

ip = prop[2][1];

ipp = prop[2];

이 문 식의 첫 번째에서 prop[2][1] 를 3 차원 배열에 대 한 올바른 참조입니다 prop. (위의 선언)은 6 요소 배열을 참조 합니다.포인터 값 배열을 다루기 때문에 간접 참조 연산자 적용 되지 않습니다.

식의 결과 또한 prop[2] 두 번째 문에서 ipp = prop[2]; 2 차원 배열의 주소를 지정 하는 포인터 값입니다.

참고 항목

참조

아래 첨자 연산자:]