강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

gw Lee님의 프로필 이미지
gw Lee

작성한 질문수

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

1.3 변수와의 만남 강의 내용 질문드립니다

작성

·

153

0

 

질문1)

'객체: 메모리에 저장되어 있는 정보' 라고 말씀해 주셨는데

이 정보는 값을 의미하는 게 맞나요?

질문2)

만약 객체가 메모리에 저장되어 있는 값이 맞다면

리터럴과 무슨 차이가 있는지 궁금합니다.

질문3) 

변수: 객체 저장공간의 이름 이라고 말씀해 주셨는데

그렇다면,

변수=객체가 저장된 메모리 명= 메모리 주소가 맞지 않을까요?

그런데 아래 코드에서 변수 x를 출력하면 왜 값이 나오는지

이해가 되지 않습니다.

int ,float ,double,short 등 자주 사용되는 타입은

변수 선언 or 출력시 *(애스터리스크)를 생략하는 건가요?

#include <iostream>

int main()

{

    int x=123;// 초기화, (*)가 생략됨?

    std::cout << x << std::endl;

  }

답변 1

0

1. 맞습니다.

2. 객체라는 정의는 넓은 범위를 포함하고 있습니다.
https://en.wikipedia.org/wiki/Object_(computer_science)
를 참고하시는 것도 도움이 될 수 있을 것 같네요.
literal의 경우에는 주소를 알 수 없습니다.
int a = 15;
&a
&15 // error!

3. *의 생략은 아니고, 작성하신 코드대로 접근하면 x의 주소의 메모리로 가서 거기에 저장된 값을 보여줘라 이런 의미가 됩니다.
주소로 접근하시려면 &x 를 통해 접근하실 수 있습니다.

gw Lee님의 프로필 이미지
gw Lee

작성한 질문수

질문하기