총 88개
-
[자료구조] 동적메모리를 구현하고 출력하는 소스코드2025.05.051. 동적 메모리 할당 이 코드는 동적 메모리 할당을 사용하여 구조체 배열을 생성하고 값을 할당한 후 출력하는 예제입니다. malloc() 함수를 사용하여 메모리를 동적으로 할당하고, 구조체 포인터 p를 통해 메모리에 접근하여 값을 설정합니다. 마지막으로 free() 함수를 사용하여 동적으로 할당된 메모리를 해제합니다. 1. 동적 메모리 할당 동적 메모리 할당은 프로그램 실행 중에 필요한 메모리 공간을 동적으로 할당하는 기능입니다. 이를 통해 프로그램은 실행 시간에 메모리 요구량을 유연하게 조절할 수 있습니다. 동적 메모리 할당은 ...2025.05.05
-
운영체제의 메모리 관리2025.01.291. 물리적 메모리 구성과 구조 운영체제에서 물리적 메모리는 컴퓨터 하드웨어가 제공하는 연속적인 주소 공간으로, 주기억장치(RAM)로 구현된다. 물리적 메모리는 데이터를 저장하고 명령어를 실행하기 위한 기본 저장 공간이다. 하드웨어적으로 연속된 배열 형태로 제공되지만, 운영체제는 이를 효율적으로 관리하기 위해 저주소 공간과 고주소 공간으로 나눈다. 운영체제는 MMU(Memory Management Unit)라는 하드웨어를 통해 물리적 메모리를 관리한다. 2. 주소 변환과 메모리 보호 운영체제는 논리적 주소와 물리적 주소를 구분하여 ...2025.01.29
-
건국대학교 객체지향프로그래밍_3주차_랩실습보고서2025.05.011. 객체지향프로그래밍 이 보고서는 건국대학교 객체지향프로그래밍 수업의 3주차 랩실습 내용을 다루고 있습니다. 주요 내용은 파일로부터 동적 메모리 할당, 메모리 출력 및 저장, 메모리 정리 등입니다. 이를 통해 C++의 동적 메모리 관리 기능을 실습하고 이해할 수 있습니다. 1. 객체지향프로그래밍 객체지향프로그래밍은 소프트웨어 개발에 있어 매우 중요한 패러다임입니다. 이 방식은 현실 세계의 개체를 모방하여 프로그램을 구축하는 것으로, 코드의 재사용성, 유지보수성, 확장성 등 많은 장점을 가지고 있습니다. 객체지향 프로그래밍은 클래스...2025.05.01
-
자료구조_1차원 배열과 2차원 배열의 차이점과 배열이 가지는 장단점에 대하여2025.04.271. 배열 배열은 같은 자료형의 데이터를 메모리상에 연속적으로 저장하는 자료형입니다. 1차원 배열은 하나의 인덱스로 구성되며, 2차원 배열은 행과 열을 나타내는 두 개의 인덱스로 구성됩니다. 1차원 배열과 2차원 배열의 차이점은 인덱스의 개수와 메모리 할당 방식에 있습니다. 1차원 배열은 행 단위로 메모리가 할당되지만, 2차원 배열은 행 우선 또는 열 우선 방식으로 메모리가 할당될 수 있습니다. 이에 따라 메모리 사용량과 접근 속도에 차이가 있습니다. 2. 구조체 구조체는 서로 다른 자료형의 데이터를 하나의 그룹으로 묶은 자료형입니...2025.04.27
-
사용자가 입력한 수를 계속 더하는 프로그램을 배열과 연결리스트로 각각 구현했을 때 장단점 비교 및 설명2025.01.191. 배열을 사용한 프로그램 구현 배열을 사용한 프로그램은 고정된 크기의 메모리 블록에 데이터를 저장한다. 배열은 정적 메모리 할당을 통해 메모리를 관리하며, 인덱스를 통해 각 요소에 빠르게 접근할 수 있다. 이로 인해 특정 위치의 값을 읽거나 쓰는 작업이 매우 효율적이다. 그러나 배열의 크기를 동적으로 조절할 수 없다는 단점이 있다. 2. 연결리스트를 사용한 프로그램 구현 연결리스트를 사용한 프로그램은 동적으로 메모리를 할당하여 데이터를 저장한다. 연결리스트는 각 노드가 데이터와 다음 노드를 가리키는 포인터를 포함하고 있어, 새로...2025.01.19
-
[자료구조] 구조체 배열을 이용한 추가 삭제 SUM을 구현한 소스코드2025.05.051. 자료구조 이 코드는 배열을 이용한 리스트 ADT(Abstract Data Type)를 구현한 것입니다. 구조체 ArrayListType을 정의하고, 초기화, 추가, 삭제, 합계 등의 기능을 구현하고 있습니다. 배열의 크기는 MAX_LIST_SIZE로 정의되어 있으며, 배열의 길이를 나타내는 length 변수를 사용하여 리스트의 크기를 관리합니다. 이를 통해 리스트의 기본적인 CRUD(Create, Read, Update, Delete) 연산을 수행할 수 있습니다. 2. 배열 이 코드에서는 배열을 사용하여 리스트를 구현하고 있습...2025.05.05
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 3장 연습문제 (해설 포함)2025.05.141. 2차원 배열의 메모리 크기 2차원 배열이 메모리에서 차지하는 크기는 행의 개수와 열의 개수, 그리고 각 요소의 크기를 곱하여 계산할 수 있다. 문제에서 제시된 10행 20열의 int형 2차원 배열은 10 x 20 x 4 = 800바이트의 크기를 차지한다. 2. 배열의 시작 주소 배열의 시작 주소는 배열의 첫 번째 요소가 저장되는 공간의 주소이다. 문제에서 배열의 첫 번째 요소가 1000번지에 저장된다고 했으므로, 10번째 요소는 1000 + (4 x 10) = 1040번지에 저장된다. 3. 배열의 크기 비교 배열의 크기는 각 ...2025.05.14
-
운영체제의 메모리 구성 및 메모리 자원의 관리2025.01.171. 메모리 계층구조 메모리는 컴퓨터의 기억을 담당하는 것으로 상태나 명령어 등을 기록하는 장치이다. 메모리는 속도와 용량에 따라 계층 구조를 이루고 있으며, 레지스터, 캐시, 메인메모리, 보조기억장치 순으로 용량이 커지고 속도가 느려진다. 메모리 계층 구조는 지역성을 최대한 활용하여 시스템 성능을 향상시킨다. 2. 메모리 관리 메모리 관리는 자원의 효율적인 사용 및 프로세스 간의 격리 보호, 단편화 문제 해결 등을 위해 필요하다. 프로세스의 주소는 논리적 주소와 물리적 주소로 나뉘며, 이러한 논리적 주소와 물리적 주소의 연결(메모...2025.01.17
-
방통대 방송대 C++프로그래밍 출석수업과제물 A+2025.01.251. C++ 프로그래밍 이 프레젠테이션은 C++ 프로그래밍 과제물에 대한 내용을 다루고 있습니다. 여기에는 C++ 기초 프로그래밍 예제, 배열 최댓값 구하기, 포인터 사용, 동적 메모리 할당, 참조 활용, 함수 활용 등 다양한 C++ 프로그래밍 기법이 소개되어 있습니다. 2. 객체 지향 프로그래밍 이 프레젠테이션에는 C++ 클래스 사용 예제가 포함되어 있습니다. 'CppBeginner' 클래스를 정의하고 'hello()' 메서드를 구현하는 등 객체 지향 프로그래밍 기법이 활용되고 있습니다. 3. 배열 및 데이터 구조 프레젠테이션에는...2025.01.25
-
운영체제 메모리 관리 레포트2025.05.021. 가상 메모리 가상 메모리는 사용자와 논리적 주소를 물리적으로 분리하여 프로세스에 주소를 지정하고 메모리 제한 없이 사용할 수 있게 해줍니다. 메모리의 일부만 적재해도 프로세스를 실행할 수 있으며, 메모리와 디스크 사이의 데이터 이동을 통해 효율적으로 메모리를 활용할 수 있습니다. 가상 메모리를 사용하면 프로그래밍이 용이해지고 프로세서 이용률과 처리율이 향상되지만, 메모리와 디스크 사이의 이동량이 증가하고 페이징 알고리즘 결정이 필요한 단점이 있습니다. 2. 매핑 방법 가상 주소와 물리적 주소를 매핑하는 방법에는 동적 주소 변환...2025.05.02
