inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

메모리 주소 10진수로 출력

미해결

홍정모의 따라하며 배우는 C++

안녕하세요 c++입문 강의를 수강하고 있는 학생입니다. 강의 6:35 부근에서 array element의 주소값을 출력하기 위해 &를 입력하였고, 이렇게 되면 16진수 형태로 주소가 출력됩니다. 또한 int array[num_rows][num_columns] = { {1,2,3,4,5}, // row 0 {6,7,8,9,10}, // row 1 {11,12,13,14,15}, // row 2 }; 로 상단에 선언된 상태입니다. 10진수 형태의 주소값을 출력하기 위해 & 앞에 (int)를 붙였는데, 다음과 같은 오류가 발생합니다. [Error] cast from 'int*' to 'int' loses precision [-fpermissive] 이전 강의에서도 메모리 주소를 출력하는 예제가 있었는데, 그때에도 같은 오류가 발생했었습니다. (size_t)&(array[0]) (size_t)&(array[1]) (size_t)&(array[2])... 이렇게 (int) 대신 (size_t)를 사용하면 에러가 발생하지 않고 4byte단위로 메모리 주소가 10진수 형태로 출력되는데, (int)만 사용하면 이런 오류가 발생합니다. 원인을 알 수 있을까요?

  • C++
du6293 댓글 1 좋아요 1 조회수 699

메모리 주소에 관한 질분

미해결

홍정모의 따라하며 배우는 C++

int x; x = 123; 이 상황에서 &x를 출력하면 16진수로 이루어진 x의 주소를 알 수 있습니다. 그런데 선생님께서 프로그래머가 123 숫자에 대한 주소를 갖고 오기가 어렵다고 하셨는데 x에 123을 대입했으니, x의 주소가 곧 123의 주소 아닌가요? 선생님께서 가져오기 어렵다고 하신 123의 주소가 뭔지 잘 모르겠습니다ㅠ

  • c++
  • 메모리
  • C++
  • 메모리주소
  • 주소
나그네 댓글 1 좋아요 0 조회수 708

인기 태그

인프런 TOP Writers

주간 인기글