
총 46개
-
변수의 기능, 선언 방법, 작성 규칙 및 데이터 형의 종류2025.01.131. 변수의 기능 변수는 프로그래밍 언어에서 데이터를 저장하는 기본 단위로, 임시 저장소 역할을 합니다. 변수를 통해 프로그램은 실행 중 필요한 데이터에 쉽게 접근하고 수정 및 재활용할 수 있습니다. 변수의 핵심 기능 중 하나는 데이터의 가변성 관리입니다. 변수는 프로그램 실행 도중 값이 바뀔 수 있어 같은 코드를 다양한 상황에 유연히 적용할 수 있습니다. 변수는 코드 내 데이터 추상화를 가능케 해 복잡한 프로그램을 단순하고 이해하기 쉽게 만듭니다. 또한 변수는 함수나 메서드 간 데이터 전달 매개체 역할도 합니다. 2. 변수 선언과...2025.01.13
-
C언어 1 - 재귀함수와 포인터의 개념 및 활용2025.01.151. 재귀함수 재귀함수는 함수가 자기 자신을 호출하여 문제를 해결하는 기법입니다. 이 기법은 큰 문제를 작은 문제로 나누어 해결할 수 있게 해주며, 특히 반복적이고 계층적인 구조의 문제를 해결하는 데 유용합니다. 재귀함수를 사용할 때는 기본 조건(base case)과 재귀 조건(recursive case)을 명확히 정의해야 합니다. 재귀함수의 대표적인 사용 사례로는 팩토리얼 계산, 피보나치 수열 계산, 트리 탐색 등이 있습니다. 2. 포인터 포인터는 다른 변수의 메모리 주소를 저장하는 변수로, 간접적으로 변수에 접근하고 조작할 수 ...2025.01.15
-
단편화의 의미와 이를 극복하는 방법, 내부 단편화와 외부 단편화의 차이점2025.01.191. 단편화의 정의 단편화는 컴퓨터 과학에서 매우 중요한 개념이다. 이는 주로 메모리 관리와 밀접한 관련이 있으며, 시스템 성능 저하를 유발할 수 있는 주요 원인 중 하나이다. 단편화에는 내부 단편화와 외부 단편화가 있으며, 내부 단편화는 할당된 메모리 블록 내에서 사용되지 않는 공간이 발생하는 현상이고, 외부 단편화는 사용 가능한 메모리 블록들이 불규칙하게 분산되어 큰 메모리 요청을 처리할 수 없는 상태를 의미한다. 2. 단편화 극복 방법 단편화를 극복하기 위한 방법으로는 메모리 압축, 메모리 풀링, 가비지 컬렉션 등이 있다. 메...2025.01.19
-
방통대 방송대 프로그래밍언어론 핵심요약노트 교재요약본 (1장~15장)2025.01.251. 프로그래밍 언어의 역사와 발전 프로그래밍 언어의 역사와 발전 과정을 살펴보면, 1950년대 초반 MIT에서 개발된 LISP부터 시작하여 1960년대 ALGOL, COBOL, BASIC 등이 등장했고, 1970년대에는 C, Pascal, Prolog, Ada 등이 개발되었습니다. 1980년대에는 Smalltalk, ML, Scheme, Objective-C 등이 등장했으며, 1990년대에는 C++, Java, JavaScript, Python, Haskell 등이 개발되었습니다. 이처럼 프로그래밍 언어는 시대의 변화와 함께 지속...2025.01.25
-
운영체제의 실제 메모리 구성과 물리적 메모리 관리2025.01.181. 메모리의 구조 물리적 메모리와 가상 메모리의 차이를 설명하고, 주 메모리와 보조 메모리의 특성을 설명한다. 2. 메모리 관리 전략 연속 메모리 할당과 비연속 메모리 할당(페이징, 세그멘테이션)의 장단점을 설명하고, 메모리 할당 정책(최초 적합, 최적 적합, 최악 적합)과 스와핑, 프레임 할당 알고리즘에 대해 설명한다. 3. 운영체제의 메모리 관리 역할 운영체제가 제한된 메모리 자원을 효율적으로 활용하기 위해 다양한 메모리 관리 전략과 알고리즘을 적용하는 것을 설명한다. 1. 메모리의 구조 메모리는 컴퓨터 시스템의 핵심 구성 요...2025.01.18
-
재귀함수와 포인터의 개념 및 활용2025.01.191. 재귀함수 재귀함수는 자기 자신을 다시 호출하는 함수로, 주어진 문제를 더 작은 하위 문제로 분해하여 해결하는 방식으로 동작합니다. 재귀함수는 종료 조건을 명시적으로 정의해야 하며, 이 조건이 충족될 때 함수 호출을 중단하고 반환값을 계산합니다. 재귀함수는 분할 정복 알고리즘, 백트래킹, 데이터 구조 순회, 수학적 계산 및 문제 해결, 문자열과 배열 처리 등 다양한 분야에서 활용됩니다. 2. 포인터 포인터는 메모리의 주소를 저장하는 변수로, C언어에서 메모리 관리와 복잡한 데이터 구조 구현에 중요한 역할을 합니다. 포인터는 메모...2025.01.19
-
운영체제 ) 메모리 단편화가 무엇이고 왜 발생하는지 설명하고, 내부, 외부 단편화의 의미를 조사하시오. 그리고 내부, 외부 단편화를 해결할 수 있는 방법에 대해 논하시오.2025.01.191. 메모리 단편화 메모리 단편화는 RAM에서 메모리 공간이 작은 조각으로 나뉘어 메모리 자체에는 사용할 수 있는 공간이 충분히 존재하고 있지만 할당할 수 없는 상태를 의미한다. 이와 같은 메모리 단편화는 내부 단편화(Internal Fragmentation)와 외부 단편화(External Fragmentation)로 구분할 수 있다. 2. 내부 단편화 메모리를 할달할 때 OS에서 할당된 메모리의 공간보다 프로세스가 더 작은 공간을 사용함에 따라 낭비된 상태를 내부 단편화라 이야기 한다. 예를 들면 20MB의 메모리 크기가 주어져을...2025.01.19
-
[자료구조] 동적메모리를 구현하고 출력하는 소스코드2025.05.051. 동적 메모리 할당 이 코드는 동적 메모리 할당을 사용하여 구조체 배열을 생성하고 값을 할당한 후 출력하는 예제입니다. malloc() 함수를 사용하여 메모리를 동적으로 할당하고, 구조체 포인터 p를 통해 메모리에 접근하여 값을 설정합니다. 마지막으로 free() 함수를 사용하여 동적으로 할당된 메모리를 해제합니다. 1. 동적 메모리 할당 동적 메모리 할당은 프로그램 실행 중에 필요한 메모리 공간을 동적으로 할당하는 기능입니다. 이를 통해 프로그램은 실행 시간에 메모리 요구량을 유연하게 조절할 수 있습니다. 동적 메모리 할당은 ...2025.05.05
-
건국대학교 객체지향프로그래밍_3주차_랩실습보고서2025.05.011. 객체지향프로그래밍 이 보고서는 건국대학교 객체지향프로그래밍 수업의 3주차 랩실습 내용을 다루고 있습니다. 주요 내용은 파일로부터 동적 메모리 할당, 메모리 출력 및 저장, 메모리 정리 등입니다. 이를 통해 C++의 동적 메모리 관리 기능을 실습하고 이해할 수 있습니다. 1. 객체지향프로그래밍 객체지향프로그래밍은 소프트웨어 개발에 있어 매우 중요한 패러다임입니다. 이 방식은 현실 세계의 개체를 모방하여 프로그램을 구축하는 것으로, 코드의 재사용성, 유지보수성, 확장성 등 많은 장점을 가지고 있습니다. 객체지향 프로그래밍은 클래스...2025.05.01
-
시스템프로그래밍(명령어 실행 4단계 및 논리주소와 물리주소)2025.01.031. 명령어(instruction) 명령어(instruction)란 컴퓨터가 직접 실행할 수 있는 프로그램의 최소 단위를 의미합니다. 명령어는 프로세서가 외부적으로 작동하는 '판독'과 '기록' 사이클, 기억장치에서 읽은 프로그램 명령어를 '실행시키는 4단계'로 구분해서 이해할 수 있습니다. 2. 명령어 실행 4단계 명령어 실행은 '명령어 인출 → 명령어 해독 → 데이터 인출 → 명령어 실행'의 4단계로 진행되며, 각 단계별 내용이 자세히 설명되어 있습니다. 3. 물리 주소와 논리 주소 메모리의 구조는 크게 물리 주소와 논리 주소 두...2025.01.03