-
C++ 배열의 선언에 관하여궁금증/C++ 2019. 3. 27. 09:34
카테고리를 C++로 해뒀다보니 C++에서만의 이야기로 보일수도 있지만
사실 일반적으로 8개의 숫자를 넣을 INT 형 변수 ARR을 선언한다고 하면
INT ARR[8] 이라고 적게 되는데....
실사용부분은 0~7이다.
그렇다면 왜 직관적으로 INT[7]이라고 하지 않고 INT[8]이라고 하는것일까?
1. 8개라서 8을 쓰는게 직관적이라고 생각할 수 있겠지만
2. 7까지 쓰기때문에 7이 더 직관적이라는 말 또한 일리가 있는것 아닐까?
사실 이 의문은 int 형의 길이를 구하려는 도중에 생겼는데,
(아무생각없이 int형을 strlen에 넣었더니 안돼서 띠용하고, 뭔짓을 한지 알고 띠용하고)
String같은 경우는 끝에 널문자가 들어있어 끝을 확실히 할 수 있지만
int 같은경우는 어떤방식으로 배열의 끝을 알 수 있을까 였다.
초기화를 하지 않은 int형배열은 흔히 쓰레기값이라고 하는 수로 채워지게 되는데
(사실 이 쓰레기값에도 어떠한 과정에 의해서 정해지는게 아닐까 생각...하지만 일단 패스)
처음에는 배열의 끝 (여기서 말하는 끝은 int arr[8]이라고 선언한뒤 arr[8]을 의미)에는 어떠한 끝을 알리는 것이 존재하는 것이 아닐까?
그래서 7까지만 사용할 수 있는게 아닐까 생각을 했었다.
하지만 간단하게 arr[8]을 건들이면...
ㅇ...ㅇㅋ....
그래서 일단은 아니라는 것은 알았는데....
왜 건들이지도 못할 8을 적는거냐.. 라고 친구에게 불평을했더니
그렇게 만든사람 찾아가서 따지라고 하더라
그럼 따져봐야지.
결과-
https://indrawer.tistory.com/10
'궁금증 > C++' 카테고리의 다른 글
float형과 int형, 뭐가 다를까? (0) 2019.09.04 randomized quick sort - 정말로 더 나은가? (0) 2019.03.28