컴퓨터 이론

    Call by value / address / reference

    이 포스트에서는 Call by value / Call by address / Call by reference 를 설명한다. 이 포스트에서는 값을 바꾸는 알고리즘을 예제로 한다. main 함수 int main() { int num1 = 10; int num2 = 20; cout

    메모리의 구조

    메모리의 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 한다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요한다. 따라서 컴퓨터의 운영체제(OS)는 프로그램의 실행을 위해 다양한 메모리 공간을 제공하고 있다. 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 다음과 같다. 1. 코드(code) 영역 2. 데이터(data) 영역 3. 스택(stack) 영역 4. 힙(heap) 영역 다음 그림은 운영체제가 제공하는 메모리 공간을 표현하고 있다. 코드(code) 영역 우리가 작성한 소스코드가 들어 가는 부분. 즉, 실행할 프로그램의 코드가 저장되는 영역으로 텍스트(code)영역이라고도 부른다. 코드영역은 실행 파일을 구성하는 명령어들이 올라가는 메모리 영역..