C/C++ 에서 배열을 처음 배우면, 이런 말을 많이 듣습니다. "배열의 이름은 해당 자료형의 포인터 타입이다" 이게 무슨 소리냐 하면, 아래와 같이 arr 이라는 변수를 선언하면, arr 은 int* 타입이라는 것입니다. int arr[5] = {1, 2, 3, 4, 5}; 결론부터 말하자면 틀렸습니다. arr 은 int* 타입이 아닙니다. 다만, 워낙 많은 강사와 유튜버, 책 등에서 이렇게 설명하고 있기에 이게 다들 맞는 줄 잘 못 알고 있습니다. 저도 사실 처음에 이렇게 배웠고, 해당 명제가 틀렸다는 사실을 알기까지 꽤나 오랜 시간이 걸렸습니다. 그럼 int arr[5] 라고 선언하면, arr 은 무슨 타입일까요? int[5] 타입입니다. 풀어서 쓰자면 "int 타입이 5개 메모리 상에 연속적으로 ..