심성현 님이 쓰신 글 :
: int, double과 같은 기본 자료형 에서 선언할수 있는 배열의 차원수는 제한이 없습니다.
: 4차원 뿐만 아니라 100차 1000차도 가능하죠.
: 하지만 실질적으로 1,2차원 배열이 자주 쓰이고 3차원 배열은 가끔 쓰이는 정도입니다.
: 4차원 이상은 거의 쓰이지 않는다고 보시면 됩니다.
:
: 그리고 이것은 기본자료형뿐만 아니라 포인터나 구조체, 클래스, 열거형과 같은 사용자 정의 자료형에서도 동일하게 적용됩니다.
: 한마디로 모든 자료형의 배열은 선언할수 있는 차원에 제한이 없다고 보시면 됩니다.
:
: 예를 들기위해 구조체 2차원 배열을 이용해 구구단을 짜 봤습니다.
: (구구단을 짜기 위해 구조체 배열을 사용할 필요까지는 없지만..)
:
: #include <stdio.h>
:
: // 구구단 구조체 선언
: // 멤버변수는 left * right = result 의 값을 의미한다
: struct Gugudan
: {
: int left;
: int right;
: int result;
: };
:
: int main(int argc, char *argv[])
: {
: // 구조체 2차원 배열 선언
: struct Gugudan gugudan[10][10];
: int i, j;
:
: // 곱셈을 계산해서 멤버변수에 대입
: for(i = 0; i < 10; i++)
: {
: for(j = 0; j < 10; j++)
: {
: gugudan[i][j].left = i;
: gugudan[i][j].right = j;
: gugudan[i][j].result = i * j;
: }
: }
:
: // 출력
: for(i = 0; i < 10; i++)
: {
: for(j = 0; j < 10; j++)
: {
: printf("%d*%d=%2d ", gugudan[i][j].left, gugudan[i][j].right, gugudan[i][j].result);
: }
: printf("\n");
: }
:
: return 0;
: }
|