c++ 포인터 관련 질문입니다.

조회수 576회

이 프로그램을 실행하면 주소값이 나오는데, 숫자가 나오게끔 하려면 어떻게 해야할까요? 이유까지 잘 설명해주시면 감사하겠습니다.

#include <iostream>

using namespace std;

int main() 
{

    int M[3][3] = { { 1,2,3 },{ 4,5,6 },{ 7,8,9 } };

    int(*ptr)[3]; 
    int *p; int **pt;

    ptr = M;

    cout << ptr << M << "\n";
    cout << ptr + 1 << M + 1 << "\n";
    cout << *(ptr + 1) << ptr[1] << *(M + 1) << M[1] << "\n";
    cout << **(ptr + 1) << **(M + 1) << *M[1] << M[1][0] << "\n";

    p = M[0];

    cout << p << M[0] << *M << "\n";
    cout << p + 1 << M[0] + 1 << *M + 1 << "\n";
    cout << *(p + 1) << *(M[0] + 1) << *(*M + 1) << "\n";

    pt = &p; // pt = M; (X)

    cout << *pt << p << "\n";
    cout << **pt << *p << "\n";
}

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)