블로그 이미지
LanSaid

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Recent Post

Recent Comment

Recent Trackback

Archive

2012. 4. 13. 12:31 Study/Pointer by C
-챕터2. 1차원 배열과 포인터
1. 1차원 배열과 초기화

 1.1 정의
  형태 : 자료형 배열명[첨자]  ex> int iArray[10]
  설명 : 선언된 자료형을 기본 단위로 하여 첨자가 나타내는 수 만큼 변수를 저장할 수 있는 집합.

 1.2. 배열 첨자
  C에서 배열첨자는 0으로 시작.
  실제로 사용할 수 있는 첨자는 선언 시의 '첨자-1' 
  ex> int iArray[10] 의 경우 : 선언시 첨자 10, 실제 사용가능 첨자의 범위 0~9(10개)
 
 1.3. 배열의 초기화
  배열 또한 변수(데이터를 저장 할 수 있는 공간)이기 때문에 사용하기에 앞서 초기화(쓰레기 값 삭제 혹은 사용할 데이터 입력)가 필요하다.
  방법 3가지
  1) Array[0] = 0; Array[1]=0; ........ Array[선언첨자-1]=0;  배열 크기에 따라 코드 수가 많아지므로 특별한 경우가 아닌이상 사용 X
  2) for(int i=0 ; i<선언첨자 ; i++)
      Array[i]=0;                               i의 연산에 따른 결과(패턴 발생)를 초기화 데이터로 적용시키지 않는한 여전히 쓸데없는 부하 발생
  3) 선언시 바로 초기화 ex> int iArray[10]={0},  int iArray[10]={};         단순 초기화 용도로 가장 적절한 방법

 2. 첨자 생략
  int iArray[3]={1,2,3,4};
  위 배열은 선언부 첨자를 3개로 정하고 초기치 갯수를 4개를 넣었다.  경고는 나오지만 에러는 아니다. 하지만 마지막 4번째 멤버는 접근이 불가능 하다.
  이러한 실수를 방지하기 위한 방법이 첨자 생량
 
  ex> int iArray[]={1,2,3,4};
  위 코드를 컴파일러가 만나면 초기치의 개수를 먼저 세고 이를 첨자에 반영함.

 3. 다차원 배열
  개념적으로는 n차원 배열이 추가될때마다 n개의 축을 가지고 측정할 수 있지만 보통 많아봐야 3차원 배열까지만 사용.
  실제적으로는 메모리 상에 선형으로 주욱 연결되어 있다. 
  형태 : 자료형 배열명[첨자][첨자]....[N]       => N차원 배열의 예

  3.1 초기화 방법
   보통은 1.3의 2)나 3)의 방법으로 초기화를 한다.

'Study > Pointer by C' 카테고리의 다른 글

[포인터] 포인터의 기초  (0) 2012.04.06
[포인터] 시작하며...  (0) 2012.04.06
posted by LanSaid