본문 바로가기

카테고리 없음

독하게 시작하는 C 스터디 - 5주차 : 배열

배열

 

: 형식이 같은 자료 여러 개(동일한 자료형 변수 여러 개) 를 모아 한 덩어리로 관리하는 문법. 

 

여러 요소 식별하기 위해 인덱스를 사용하며 0부터 시작. 

기준 요소는 인덱스 0 인 요소로, 기준 요소로 부터 0만큼 떨어져있다.(= 떨어져있지 않다.) 는 요소를 의미함. 

 

배열의 이름은 0번 요소의 메모리 주소에 대한 식별자이며 , 상수임

-> l - value가 아님! / 따라서 대입연산자의 왼편에 작성할 수가 없음.

 

 

문자 배열 (문자열)

 

문자열의 실체는 char []

문자열의 끝은 반드시 null 문자가 들어감. 

그래서 'Hello' 를 저장하면 -> 문자열에는 H,e,l,l,o, \0 이렇게 6개가 저장됨. 

 

문자열 상수는 보통 포인터를 사용해 관리하는데, 

pointer는 변수와 동일한데, 값으로 주소가 담긴 걸 의미함. 

 

 

다차원 배열

배열의 요소 -> 배열인 배열

배열의 배열!

2차원 구조일 경우 -> 구조상 열,행이지만, 행, 열로 선언함. 

int [5] 라는 구조가 2개 있을 때 = int [5][2] 아니고 int[2][5] 다. 

 

 

2차원 배열에서 중요한 점은, 

int aList [2][3] 을 선언했을 때,

aList도 주소이고, aList[2] 도 주소라는 점. 

따라서 이 두 가지는 r-value임. 

 

 

Lookup 배열

데이터를 검색 혹은 참조하기 위해 사용하는 배열

if, switch 같은 조건식을 사용하지 않기에 성능에 너무 좋음. 

유지보수하기에도 좋고!