C와 C++의 차이 C언어는 C++와 달리 다양한 패러다임이 있는 언어이다. 그 차이를 표로 간단히 알아보자. 차이점 C C++ 패러다임 Paradigm 절차지향 (Procedure-Oriented) 다중 패러다임 언어 1. 객체지향 프로그래밍 (OOP) 2. 일반화 프로그래밍 (Generic Programming) 접근성 Approach 하향식 설계 (Top-down) 상향식 설계 (Bottom-up) 네임스페이스 Namespace 없음 있음 상속 Inhertance 없음 있음 다형성 Polymorphism 없음 있음 템플릿 Template 없음 있음 레퍼런스 &reference 없음 있음 구조체 생성자 struct constructor 없음 있음 메모리 할당 Memory Allocation mallo..
메모리 동적 할당 데이터 영역과 스택 영역에 할당되는 메모리의 크기는 컴파일 타임(compile time)에 미리 결정된다. 힙 영역 크기는 프로그램 실행 후 런 타임(run time)에 사용자가 직접 결정한다. 런 타임 메모리에 할당받는 것을 메모리 동적 할당이라 한다. 유연한 메모리 관리 동적 할당은 프로그램에 필요한 만큼 메모리를 사용하며, 더 이상 필요하지 않을 경우 메모리를 해제하여 시스템 자원을 효율적으로 관리한다. 메모리 공간 절약 동적 할당은 필요한 만큼의 메모리를 할당하므로 공간 효율성이 높다. 복잡한 데이터 구조 생성 동적 할당을 통해 복잡한 데이터 구조(예: 동적 배열, 링크드 리스트, 트리)를 생성할 수 있으며, 필요에 따라 크기를 조정할 수 있다. 메모리 누수 방지 정확한 메모리 ..
보호되어 있는 글입니다.
C언어의 메모리 구조 - 프로그램 실행시 운영체제는 해당 프로그램을 위한 메모리 공간(지역, 전역 변수 선언 등)을 할당 1. 데이터(Data) - 전역 변수 및 static변수 할당 영역 - 프로그램 시작시 할당, 종료 후 메모리에서 소멸 #include int a = 10; // 데이터 영역에 할당 int b = 20; // 데이터 영역에 할당 int main() { static int c = 30; // 데이터 영역에 할당 return 0; } 2. 스택(Stack) - 함수 호출시 생성되는 지역, 매개 변수 할당 영역 - 함수 호출 완료 후 제거 3. 힙(Heap) - 필요에 의해 동적 메모리 할당 - 할당해야 할 메모리의 크기를 프로그램이 실행되는 동안 결정해야 하는 경우(런 타임때) 유용하게 ..
- Total
- Today
- Yesterday
- 명령어
- 포인터
- 스레드
- 프로세스
- 상속
- c++
- 인터럽트
- malloc
- static_cast
- const
- 메모리
- 구조
- 컴파일
- dynamic_cast
- 할당
- 입출력
- thread
- 백준
- CPU
- 운영체제
- 알고리즘
- 게임수학
- 크기
- 수학
- New
- 초기화
- 클래스
- 함수
- 멀티스레드
- 레지스터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |