□ 2차원 배열
○ 2차원 배열은 1차원 배열처럼 배열명과 첨자를 사용하여 선언한다.
- 각 배열요소의 형태는 int형 변수 4개짜리 1차원 배열이다.
- 전체 배열은 12개의 int형 기억공간이 1차원 배열의 형태로 할당된다.
○ 2차원 배열에서의 1차원배열은 2차원배열의 일부.
□ 2차원 배열의 초기화
○ 1차원 배열처럼 초기화하며 초기화 값은 행 단위로 차례로 저장됨.
ex) int array[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 로 선언과 함께 초기화 된다면
int array[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
○ 만약 해당 배열 요소를 초기화하지 않으면 0으로 채워진다;
ex) int array[3][4]={{1},{5,6},{9,10,11}};
○ 문자 배열 초기화
- char 타입의 배열의 각 배열공간들을 문자상수로 초기화
- 만약 초기화하지 않은 공간에 대해서는 널(null)문자(\0)로 초기화 된다.
ex) char animal[5]10]={"cat","horse","dog","tiger","elephant"};
□ 포인터 배열과 배열요소 접근
- 앞서 포인터와 포인터와 배열(Pointer & Array) -(1/2) 부분에서 배열의 이름은 배열의 주소값이라고 하였다.
- 포인터 배열로서 배열요소의 접근의 예
초기화 되지 않는 값은 포인터 배열의 다음번째 구성요소의 첫번째 주소값이 출력되는것을 확인 할 수 있다.
주소값을 찍어보면 (비주얼 스튜디오에서는 다를 수 있다, 이것은 gcc 컴파일 기준.)
'Programing_Language > C' 카테고리의 다른 글
함수 포인터(Function Pointer) 와 보이드 포인터(Void*) (0) | 2016.11.02 |
---|---|
구조체(struct) (0) | 2016.09.23 |
포인터와 배열(Pointer & Array) -(1/2) (0) | 2016.09.09 |
포인터(Pointer) (0) | 2016.09.08 |
getenv 함수 -linux system programming 쉘 프로그래밍 (0) | 2016.09.04 |
댓글