배열
: 형식이 같은 자료 여러 개(동일한 자료형 변수 여러 개) 를 모아 한 덩어리로 관리하는 문법.
여러 요소 식별하기 위해 인덱스를 사용하며 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 같은 조건식을 사용하지 않기에 성능에 너무 좋음.
유지보수하기에도 좋고!