본문 바로가기
Programing_Language/C

포인터와 배열(Pointer & Array) -(2/2)

by neohtux 2016. 9. 24.
728x90

 □ 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 컴파일 기준.)

 


300x250

댓글