작성
·
139
·
수정됨
1
daily_temperatures 뒤에 붙어있는 []가 정확히 무슨 뜻인지 모르겠습니다.
어쩔 땐 int[] 이런 형식도 본 것 같은데 그것도 무슨 뜻인지 잘 모르겠습니다.
int 사이즈 메모리 몇 개가 무슨 뜻인거죠? 4바이트짜리 메모리를 뒤에 써있는 수만큼 받는다는 건가요?
그리고 마지막에 stock_prices_history[0]이라고 되어 있는데 항상 0이 첫 번째 주소인가요?
답변 1
1
안녕하세요, 질문&답변 도우미 Soobak 입니다.
C언어에서 대괄호 []
는 배열을 나타내는데 사용됩니다.
예를 들어, int daily_temperature[365];
의 경우는 int
타입의 값 365
개를 저장할 수 있는 배열을 선언하는 문법입니다.
이렇게 선언하면, int
크기의 메모리 365
개가 연속적으로 할당되며, 말씀하신 것처럼, 일반적인 환경에서 4
바이트 * 365
의 메모리 공간이 필요하게 됩니다.
(이 부분에 대해서는 강의 2.4 자료형이 필요한 이유 의 중,후반부분을 참고해보시면 이해에 도움이 되실 것 같습니다.)
이 때, 이 배열에는 daily_temperatrue[0]
부터 dayily_temperatrue[364]
까지 총 365
개의 정수 값을 저장할 수 있게 됩니다.
배열에서 0
은 첫 번째 요소의 인덱스를 나타내며, 배열의 인덱스는 항상 0
부터 시작합니다.
따라서, stock_prices_history[0]
은 stock_prices_history
배열의 첫 번째 요소에 접근합니다.
(배열의 두 번째 요소(= 첫 번쨰 요소 다음)를 가리키려면, stock_prices_history[1]
과 같이 사용합니다.)
int[]
의 형식은 이후 '포인터' 와 관련된 내용을 학습하시면서 자세하게 학습하시게 됩니다.
지금 단계에서는 배열의 선언과 배열의 원소에 접근하는 문법에 초점을 맞추어서 차근 차근 공부해 나아가시는 것을 추천 드립니다.