inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

배열 선언에 104, 1004처럼 4로 끝나는 이유가 있나요?

220

ryumirr1

작성한 질문수 3

0

int a[1004], b[100004];

예를 들어 이렇게 되어있는 배열이 있다고 하면 a라는 배열은 1000 * 4바이트의 크기를 가지게 되죠?

[출처] [알고리즘 강의] 1주차. 복잡도, 재귀함수, 누적합, 구현|작성자 큰돌

이처럼 배열 선언을 4로 끝내는 이유가 있나요?

저 위의 설명은 1004 * 4바이트가 되어야하는게 아닌가요? int는 4바이트 정수이고 1004의 요소를 선언한 것이므로..

끝의 4가 C++에서는 특별한 의미가 있나요?

 

감사합니다.

C++ 코테 준비 같이 해요!

답변 1

0

큰돌

아.. 이게 알림이 안떠서 이제야 봤네요.. 늦은 답변 죄송합니다. 일단 + 4를 하는 것은 경계값을 표현하기 위해서입니다. 1000이라고 했을 때 문제에서 1000까지 값이 주어진다고 하면 즉, <= 1000이라고 했을 때 1000을 표기를 해야겠죠? 근데 a[1000]이라고 하면 999까지 밖에 표현을 못해요.  그러한 이유 + 오버플로를 방지하기 위해 숫자를 3 또는 4... 10등을 추가합니다. 저는 4가 좋아서 4를 추가했어요.

ryu님도 자신이 좋아하는 숫자를 추가하면 됩니다. 

 

감사합니다. 

강사 큰돌 올림.

1-E질문입니다!

0

533

2

3-L 틀린 부분 피드백 부탁드립니다.

0

837

2

1-A문제 순열재귀함수 질문입니다.

0

396

1

1-A 일곱난쟁이문제입니다

0

471

1

문제 풀 때 방향성에 대해

0

811

1

맥에서 vs code로 실행 관련 질문입니다

0

530

1

17071번 메모리 초과

0

390

1

1-C질문입니다!

0

428

2

2-B BFS 시간초과질문

0

638

2

1-O 13번 라인

0

447

1

6-J 놀이공원 문제 질문

0

390

1

구현관련 질문

0

492

1

강의 교안

0

322

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

550

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

540

1

1-K

0

481

2

3-G번 질문있습니다.

1

482

3

3-C 실행 시간 질문드립니다.

0

504

1

4-A 문제 풀이 질문있습니다.

0

602

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

441

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

350

1

3-O go 함수 질문 드립니다.

1

453

2

4-A 출력 질문

0

308

1

1주차 1-O 질문드립니다

0

266

1