C언어 - 배열과 메모리

2020. 11. 11. 16:48개인공부/C언어

 

 

 

 

 

Array는 기본적으로 유사한것들이 나열되어있는 것을 말한다

 

 

 

서울의 최고 최저 기온

위와 같이 선언하려면 변수명을 일일이 지정해주는것도 문제지만

for문을 어떻게 돌릴것인가? 변수가 100만개 된다면?

 

이런 문제를 배열로 해결할수있다.

 

 

 

 

배열 선언 방법은

1.자료형을 앞에 적어주고(int 같은)

2 .변수명을 명시해주고 (high, low)

3. 그 뒤에 몇개의 배열이 들어오는지 정해준다 ( [12] )

4. 들어갈 값은 {} 안에 넣어준다.

 

 

 

 

 

 

 

 

arr를 선언하면 연속된 메모리 공간을 할당받는다. 

 

 

실수형 저장

 

 

 

 

index에 0이 들어오면 첫번째 주소로 들어옴.

index에 1이 들어오면 첫번째 주소로부터 자료형 사이즈만큼 칸을 옮긴다(int형이니 4바이트만큼)

 

&는 address-of operator(포인터)인데

&arr[0]과 &(arr[0])에서 () 소괄호의 우선순위가 &보다 크기때문에  &arr[0]과 &(arr[0]) 둘이 같다.

 

 

 

 

 

첫번째 주소를 빼버리니 뒤의 주소들도 앞의 주소의 4만큼 다시 정렬되고

 

자료형 크기만큼 나누니 그대로 순서가 된다. 0 1 2 3 (첨자)

 

&arr[1] 이 &arr[0]까지 1(4바이트)만큼 떨어져있다.

 

 

 

 

 

 

 

 

출처 : 홍정모의 따라배우는 C언어