C언어 - 배열과 메모리
2020. 11. 11. 16:48ㆍ개인공부/C언어
위와 같이 선언하려면 변수명을 일일이 지정해주는것도 문제지만
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언어
'개인공부 > C언어' 카테고리의 다른 글
C언어 - 포인터의 산술 연산 (0) | 2020.11.11 |
---|---|
C언어 - 배열의 기본적인 사용방법 (0) | 2020.11.11 |
C언어 - NULL 포인터와 런타임 에러 (0) | 2020.11.11 |
C언어 - 포인터의 기본적인 사용 방법 (0) | 2020.11.11 |
C언어 : 포인터의 작동원리 (0) | 2020.11.11 |