개인공부/C언어
C언어 - 배열과 메모리
무제1351
2020. 11. 11. 16:48
위와 같이 선언하려면 변수명을 일일이 지정해주는것도 문제지만
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언어