컴퓨터에서 존재한다와 존재하지 않는다를 무엇으로 구분할 수 있들까?
정보는 메모리에 저장이 된다.
메모리에 저장이 되어 있는 정보 -> 객체로서 존재한다.
변수란? 메모리를 가지고 있는 객체의 이름 / 수학적으로 변동하는 값 / 주소의 다른 이름
: 메모리 주소를 프로그래머가 직접적으로 접근 가능한지에 따라 구분된다.
int x;
x = 123;
L-value : 메모리를 가지고 있는 것
R-value : 잠깐 존재하고 사라짐.
int x;
cout << x; 하면
결과 : 빌드조차 안된다.
c++의 경우는 초기화를 시켜주지 않으므로 os가 메모리 초기화를
해주라는 의미이다.
심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
오류 C4700 초기화되지 않은 'x' 지역 변수를 사용했습니다. Bite c:\users\zzokk\onedrive\바탕 화면\씹어먹는c++\bite\bite\main.cpp 8
변수 초기화를 해야 하는 이유 // 쓰레기값이 생기는 이유??
: 메모리라는 것은 비주얼스튜디오만을 위한 것이 아니고 컴퓨터의 모든 프로그램이 공유하는 자원이다.(관리는 os가 한다.)
어느(이전) 자원/어플/프로그램에서 사용한 메모리를 우리가 가지고 와서 사용할 수도 있는데, 이때는 이전 프로그램에서 사용한 데이터가 해당 메모리에 들어가 있다. 이 값을 쓰레기값이라고 한다.
쓰레기값 방지를 위해 초기화를 진행해야 한다.
초기화를 하지 않으면 빌드조자 안된다...
int x = 123; int x(123); //초기화를 뜻함.
x = 5; //할당을 뜻함
debug : 개발자 확인용
Release : 배포용