인프런 커뮤니티 질문&답변
배열 선언에 104, 1004처럼 4로 끝나는 이유가 있나요?
작성
·
212
0
int a[1004], b[100004];
예를 들어 이렇게 되어있는 배열이 있다고 하면 a라는 배열은 1000 * 4바이트의 크기를 가지게 되죠?
[출처] [알고리즘 강의] 1주차. 복잡도, 재귀함수, 누적합, 구현|작성자 큰돌
이처럼 배열 선언을 4로 끝내는 이유가 있나요?
저 위의 설명은 1004 * 4바이트가 되어야하는게 아닌가요? int는 4바이트 정수이고 1004의 요소를 선언한 것이므로..
끝의 4가 C++에서는 특별한 의미가 있나요?
감사합니다.
답변 1
0
큰돌
지식공유자
아.. 이게 알림이 안떠서 이제야 봤네요.. 늦은 답변 죄송합니다. 일단 + 4를 하는 것은 경계값을 표현하기 위해서입니다. 1000이라고 했을 때 문제에서 1000까지 값이 주어진다고 하면 즉, <= 1000이라고 했을 때 1000을 표기를 해야겠죠? 근데 a[1000]이라고 하면 999까지 밖에 표현을 못해요. 그러한 이유 + 오버플로를 방지하기 위해 숫자를 3 또는 4... 10등을 추가합니다. 저는 4가 좋아서 4를 추가했어요.
ryu님도 자신이 좋아하는 숫자를 추가하면 됩니다.
감사합니다.
강사 큰돌 올림.





