본문 바로가기

공부/C, C++

(4)
Call by value, Call by address, Call by reference Call-By-Value 값에 의한 호출 함수로 값을 전달하면 원본이 아닌 복사본이 전달된다. 그렇기 때문에 원본 값은 바뀌지 않는다. Call-By-Address 주소에 의한 호출 값에 의한 호출과는 다르게 포인터를 사용하여 값의 주소를 가르켜 원본 값을 바꿀 수 있다. Call-By-Reference 참조에 의한 호출 주소에 의한 호출과 마찬가지로 원본 값을 바꿀 수 있지만 작동 방식에서 차이가 있다. 주소에 의한 호출처럼 포인터를 사용하는 것이 아닌 할당된 하나의 메모리 공간에 이름을 붙이는 것이다. 쉽게 말해서 별명을 붙인다고 생각하면 된다. 이렇게 변수에 별명을 붙이면 변수와 동일한 값과 주소를 갖는다. 참조 변수는 이미 선언된 변수에 대한 별명으로, 참조자(&)를 이용하여 선언한다. 선언 시 ..
상속, 다형성, 가상 함수 다형성 다형성이란 하나의 클래스 내부의 멤버 함수나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것을 의미한다. 가상 함수 파생 클래스에서 재정의할 것으로 기대하는 멤버 함수 상속 자식 클래스가 부모 클래스의 기능을 받아 쓰는 것
C,C++,C# C언어 C언어는 47년 전에 만들어졌다. C는 자바, 자바스크립트, 파이썬, PHP, GO와 같은 언어들에게 영향을 미쳤다. C는 중요한 프로그래밍 언어로 평가받고 있다. C언어가 만들어진 47년 전에는 컴퓨터가 지금처럼 빠르지 않았다. 그래서 리소스가 많이 없는 기계에서 작동하 때 유용하고 하드웨어와 매우 밀접하게 작동한다. C로 만들어진 것 - 화성탐사선(화성에 착륙해서 지면의 사진을 찍고, 그 사진을 다시 NASA로 보내는 역할을 했다. 250만줄의 C언어로 작성되었다.) 해당 탐사선의 메모리가 충분하지 않고 프로세싱 파워도 약해 가능한 공간을 적게 쓰고 빠른 언어가 필요했다. > C언어 C++ C와 매우 유사하지만 C와 다르게 class를 가진다. C++를 만든 사람은 C++가 C의 superse..
힙 영역과 스택 영역 힙 영역 메모리의 힙 영역은 사용자가 직접 관리할 수 있는 메모리 영역이다. 사용자에 의해 메모리 공간이 동적을로 할당되고 헤제된다. 힙 영역은 메모리의 낮은 주소에서 높은 주소 방향으로 할당된다. 스택 영역 지역 변수와 매개 변수가 저장되는 영역이다. 스택 영역은 함수의 호출과 함께 할당되며 함수의 호출이 완료되면 소멸한다. 함수가 호출되면 스택에는 함수의 매개 변수, 함수가 끝난 뒤 돌아갈 반환 주소값, 함수에서 선언된 지역 변수 등이 저장된다. 스택 프레임 스택 프레임 : 스택 영역에 차례대로 저장되는 함수의 호출 정보 스택 프레임의 동작 방식 후입선출(LIFO, Last-In First-Out) 가장 나중에 저장된 데이터가 가장 먼저 인출되는 방식 스택 오버플로우 (Stack Overflow) 스..