본문 바로가기

[C/C++] 데이터, 스택(Stack), 힙(Heap) 영역 우리들이 프로그램을 실행하면, 운영체제는 우리들이 실행한 프로그램을 위해 메모리 공간을 할당해줍니다. 그냥 할당해 주느냐? 그것이 아니라 용도별로 메모리 공간을 할당해 운영체제가 메모리 영역을 구분해 메모리 공간의 효율적 사용을 하게 만들어 줍니다. 1. 메모리 영역의 종류 * 데이터영역 : 전역 변수, Static변수를 위한 메모리 공간 - 전역 변수 : 프로그램이 시작하자마자 메모리 공간에 올라가서 종료 될때까지 남아있는다. - Static 변수 : 프로그램 시작과 동시에 메모리 공간에 올라가서 종료될때까지 남아 있긴 한다. * 힙영역 : 런타임에 크기가 결정될수 있는 요소들을 올리기 위한 공간 * Stack : 컴파일 타임에 크기가 결정될 수 있는 요소들을 메모리 공간에 올리기 위한 영역 각각의 영.. 더보기
[C/C++] 콘스트(const)란? 1. Const? : Const는 변수를 상수화 하기 위해 사용하는데, 쓰이는 위치에 따라서 용도가 조금 달라진다. - 첫번째, const int* n : 위와 같이 const가 자료형 뒤에 붙은 경우를 데이터 상수화 라고 하고 n이라는 포인터가 가리키는 대상을 상수화 하겠다는 의미가 된다. #include using namespace std; const int*n; void main() { int b =10; n = &b; b = 20; cout 더보기
[C++의 특징 - 2] 인라인 함수(Inline Function) 와 네임스페이스(Namespace) 이전에 C에서는 매크로 함수라는게 있었습니다. C++에서는 이것과 똑같은 기능을 하는것이 바로 인라인 함수 입니다. 우선 매크로 함수에 대해서 살짝 알아 보면... 1. 매크로 함수 (Macro Function) : 전처리기에 의해 처리 되면서, 매우 빠른 실행의 이점을 가지게 되는 함수이다. 아래와 같이 선언해 쓰고, 매크로 함수는 데이터형에 영향을 받지 않는 특징을 가지고 있다. #define Square ((x) * (x)) 하지만 왜 C++에 와서 그대로 매크로 함수를 쓰지 않고 인라인 함수라는 것을 새로 만들어서 사용하는 것일까? 그 이유를 한번 알아 보자. 2. 인라인 함수 (Inline Function) : C와의 매크로 함수와 같지만, 인라인 함수는 컴파일러단에서 처리되면서, 구현이 용이 .. 더보기