따배C++ 강의노트_6부 : 변수와의 첫 만남
목차
홍정모 교수님의 C++강의, 따배씨++의 강의노트 포스팅을 시작합니다.
5부 : 주석을 잘 다는 방법 https://whiteheadyouth.tistory.com/183
4부 : 프로그램의 구조 https://whiteheadyouth.tistory.com/181
3부 : 코딩하다 막혔을 때는? https://whiteheadyouth.tistory.com/170
2부 : 솔루션, 프로젝트 관리 https://whiteheadyouth.tistory.com/161
1부 : 통합개발환경의 기본적인 사용법 - 윈도우 비주얼 스튜디오 https://whiteheadyouth.tistory.com/155
0부 : 홍정모 교수님의 따배씨++ 무료로 인강 듣는 방법 https://whiteheadyouth.tistory.com/89
오늘의 수업 주제는 변수 입니다.
그래서 제목도 변수와의 첫 만남 이네요.
강의노트와 주석을 함께 사용해 보았습니다.
사진에서 보이는 바와 같이, int x = 123; 이라는건, x라는 정수형 변수를 선언했는데, x는 객체이고, 그래서 x는 숫자를 담을 수 있는 공간을 메모리에 차지하고 있어요. int 는 integer 곧 정수입니다. 즉, x는 123과 같은 정수 하나를 담을 수 있는 크기 입니다.
int y;
y = 123;
y라는 정수형 변수를 선언하고, y에 123이라는 숫자를 할당합니다.
y = 123; 에서 "=", 등호는 같다는 의미가 아닙니다. y = 123 이라는건 y라는 변수에 123을 대입한 것이죠.
y라는 변수 이름이 가리키고 있는 메모리 공간에 123이라는 정수를 저장하는 것 입니다.
std::cout << y << std::endl;
y라는 변수를 출력하고, endline 즉, 줄바꿈을 하라고 하네요.
std::cout << &y << std::endl;
y라는 변수의 16진수 값을 나타내줍니다. (&y : 16진수로 표현된 y의 주소 입니다.)
위의 코드를 실행하면 위와 같이 실행됩니다.
123이라는 y의 값과 함께, 0024FC0C라는 16진수로 표현된 y의 주소 값이 보이네요.
디버그와 릴리즈의 차이는 지난번 강의에도 언급했듯이, 속도 차이가 꽤 많이 납니다.
디버그보다 릴리즈가 빨라서 보통 배포용은 릴리즈로 배포합니다.
빌드를 누를때, 솔루션 하나에 여러가지 프로젝트가 있으면 전체가 다 빌드됩니다. 이부분 참고해야 하구요.
warning C4700 : 초기화 되지 않은 'x' 지역 변수를 사용했습니다.
기초적인 오류는 반드시 잡는게 좋습니다.
지금은 x라는 변수를 선언했는데, x의 값을 초기화 시키지 않아서 생긴 문제입니다.
그래서 항상 변수를 선언하면 초기화를 진행 해야 합니다.
C++이 어렵다는 인식을 가지게 하는 주범 : 런타임 에러
"너 뭐하니?" 하고 물어보는 무시무시한 에러 입니다. 그러나 이건 디버그에서만 나타납니다.
릴리즈모드에서 초기화 안하고 빌드하면 에러메시지는 뜨지만, 디버그 하지 않고 실행하면 실행은 된다는 무시무시한 이야기.
변수는 항상 초기화 해야 합니다.
int x(123); 을 통해 초기화를 진행했고,
x에 5라는 정수를 대입했으니
std::cout << x << std::endl; 을 실행하면 5가 출력되겠네요.
프로그래머는 예측 불가능한 일은 하지 않도록 하는게 좋다고 합니다.
C언어를 먼저 배우는 사람들은 초기화를 안하는 경우들이 많습니다.
그러나 요즘은 반드시 초기화를 해주는 것이 좋습니다.
'경영과 투자와 공부 > 코딩 공부 (C++)' 카테고리의 다른 글
따배C++ 강의노트_8부 : 함수와의 첫 만남 (1) | 2018.11.28 |
---|---|
따배C++ 강의노트_7부 : 입출력 스트림과의 첫 만남, cin, cout (0) | 2018.11.24 |
따배C++ 강의노트_5부 : 주석을 잘 다는 방법 (0) | 2018.11.15 |
따배C++ 강의노트_4부 : 프로그램의 구조 (0) | 2018.11.14 |
따배C++ 강의노트_3부 : 코딩하다 막혔을 때는? (0) | 2018.11.11 |