인프런 커뮤니티 질문&답변
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 를 통해 접근하실 수 있습니다.





