Skip to content

문제 6 · 배열 이름과 &배열

문제 6 [2점]

아래 코드를 읽고, 출력을 예상하여 작성하세요.

cpp
#include <iostream>
using namespace std;

int main() {
    int myList[3] = {1, 2, 3}; // 주소 00FF13
    cout << &myList;
}
풀이 및 해설

배열은 연속된 메모리에 저장되고, 배열의 주소는 첫 원소의 첫 바이트 주소와 같습니다. 문제에서 배열이 시작하는 번지를 00FF13으로 주었습니다.

  • myList (배열 이름) → 첫 원소로의 포인터, 값은 00FF13
  • &myList[0] → 첫 원소의 주소, 값은 00FF13
  • &myList배열 전체를 가리키는 포인터(int(*)[3])이지만, 가리키는 시작 번지는 역시 00FF13

셋의 자료형은 다르지만 가리키는 주소값은 모두 같습니다. 따라서 cout << &myList는 배열이 시작하는 주소를 출력합니다.

00FF13

(실제 실행 시 번지는 실행 환경마다 달라지지만, 문제의 가정에 따르면 00FF13입니다.)

👉 실습(C++)에서 확인하기

PDF