줘이리의 인생적기

01. [C++] 기본(프로그래밍 순서, vs 기본, 초기화, 할당, 앰퍼샌드) 본문

공부/C++

01. [C++] 기본(프로그래밍 순서, vs 기본, 초기화, 할당, 앰퍼샌드)

줘이리 2021. 8. 16. 15:58
728x90

 

c++ 프로그래밍 순서

 

- 문제 정의

- 해법 설계

- 프로그램 작성

- 프로그램 컴파일(cpp파일들을 따로따로 컴파일하며 오브젝트 파일 생성)

- 오브젝트 파일 링킹(오브젝트 파일들을 링커가 하나로 합치고 실행파일 생성)

- 테스트 & 수정

 

 


visual studio 기본

 

debug 모드는 exe 파일 크기가 큼, 배포할 때는 적절치 않다.

변수 선언만 하고 초기화 안 하면 런타임 에러 발생

 

release 모드는 exe 파일 크기가 작고 배포할 때 적절하다.

변수 선언만 하면 젤 작은 값으로 자동 초기화(코드가 복잡해지고 에러 발생했을 때 아주 힘들 수 있음)

 


초기화(initialization), 할당(assignment)

객체는 메모리에 담긴다. 

변수는 객체의 주소 대신 붙여주는 이름이다.

 

변수 x를 이용하여 초기화(initialization)와 할당(assignment)을 해보자.

 

#include <iostream>

int main() {
	int x = 5; //initialization
	x = 10; //assignment

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

	return 0;
}

 


앰퍼샌드(Ampersand)

 

앰퍼샌드를 활용하면 변수가 위치하고 있는 메모리 주소를 알 수 있다.

#include <iostream>

int main() {
	int x;
	x = 10;

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

	return 0;
}

결과

integer타입 변수 x는 00B3FDA8이라는 메모리에 위치하고 있다.

'공부 > C++' 카테고리의 다른 글

06. [C++] 함수 선언, 정의  (0) 2021.08.27
05. [C++] 지역 범위(local scope)  (0) 2021.08.25
04. [C++] 함수, 함수명 변경, break point  (0) 2021.08.23
03. [C++] cout, cin, escape sequence  (0) 2021.08.20
02. [C++] 명칭공간(namespace)  (0) 2021.08.18