
총 46개
-
변수의 기능, 선언 방법, 작성 규칙 및 데이터 형의 종류2025.01.131. 변수의 기능 변수는 프로그래밍 언어에서 데이터를 저장하는 기본 단위로, 임시 저장소 역할을 합니다. 변수를 통해 프로그램은 실행 중 필요한 데이터에 쉽게 접근하고 수정 및 재활용할 수 있습니다. 변수의 핵심 기능 중 하나는 데이터의 가변성 관리입니다. 변수는 프로그램 실행 도중 값이 바뀔 수 있어 같은 코드를 다양한 상황에 유연히 적용할 수 있습니다. 변수는 코드 내 데이터 추상화를 가능케 해 복잡한 프로그램을 단순하고 이해하기 쉽게 만듭니다. 또한 변수는 함수나 메서드 간 데이터 전달 매개체 역할도 합니다. 2. 변수 선언과...2025.01.13
-
C언어로 구현한 배열과 구조체의 차이점 설명 및 성적 처리 프로그램2025.01.171. 배열 배열은 동일한 자료형을 갖는 데이터들을 연속적인 메모리 공간에 저장하기 위한 자료구조입니다. 배열의 각 요소는 인덱스라는 숫자로 식별되며, 이를 통해 데이터에 빠르게 접근할 수 있습니다. 배열은 반복 루프와 결합하여 데이터를 효율적으로 처리할 수 있게 해 줍니다. 2. 구조체 구조체는 서로 다른 자료형을 가진 데이터들을 하나의 단위로 묶기 위해 사용됩니다. 구조체 내의 각 요소들은 멤버 또는 필드라고 불리며, 각각이 서로 다른 데이터 타입을 가질 수 있습니다. 구조체는 여러 유형의 데이터를 관련성 있게 그룹화하는 데 유용...2025.01.17
-
다양한 주소 지정 방식 중 직접 주소 방법과 간접 주소 방법 비교 설명2025.01.171. 직접 주소 방법 직접 주소 방법은 명령어가 데이터의 실제 메모리 주소를 포함하는 방식입니다. 이 방법은 구현이 단순하고 접근 속도가 빠르다는 장점이 있지만, 프로그램의 유연성이 떨어지고 메모리 사용의 비효율성이 있습니다. 주로 간단한 프로그램이나 시스템에서 사용됩니다. 2. 간접 주소 방법 간접 주소 방법은 명령어가 데이터의 실제 주소 대신 주소를 가리키는 포인터를 포함하는 방식입니다. 이 방법은 메모리 사용의 유연성을 높이고 프로그램의 유연성을 향상시킬 수 있지만, 접근 속도가 느리고 포인터 사용의 오류 가능성이 있습니다. ...2025.01.17
-
컴퓨터에서 숫자 표현과 중앙처리장치 동작 원리2025.05.111. 보수의 개념 보수(Complement)는 '보충을 해주는 수'라는 의미로 컴퓨터가 뺄셈을 할 때 사용되는 개념입니다. 보수는 2의 보수와 1의 보수로 나뉩니다. 2의 보수는 어떤 수의 1의 보수에 1을 더한 값이며, 1의 보수는 비트를 반전시킨 값입니다. 보수는 컴퓨터에서 음수를 표현하거나 덧셈과 뺄셈 연산 등에서 사용됩니다. 2. 보수체계 사용 이유 보수체계는 컴퓨터에서 수의 표현과 연산을 보다 효율적으로 처리할 수 있도록 도와줍니다. 컴퓨터는 연산체계에서 덧셈기능만 할 수 있는데, 보수를 이용하면 뺄셈도 수행할 수 있습니다...2025.05.11
-
프로세스 개념을 설명하고 처리방식에 대해 설명하시오2025.01.171. 프로세스의 정의 프로세스는 실행 중인 프로그램을 의미하며, 프로그램의 코드와 프로그램 실행에 필요한 데이터 및 상태 정보를 포함합니다. 컴퓨터 시스템에서 프로세스는 독립적인 실행 단위로 간주되며, 각 프로세스는 고유한 주소 공간을 가지며 다른 프로세스와 분리된 환경에서 실행됩니다. 2. 프로세스 관리 기법 프로세스 관리 기법은 운영체제가 시스템 자원을 효율적으로 분배하고 각 프로세스가 원활하게 실행될 수 있도록 하는 데 중요한 역할을 합니다. 주요 프로세스 관리 기법으로는 스케줄링, 메모리 관리, 동기화와 통신이 있습니다. 3...2025.01.17
-
방송통신대학교 c프로그래밍 출석수업과제2025.01.261. C 프로그래밍 기초 이 자료는 C 프로그래밍 언어의 기본적인 문법과 개념을 소개하고 있습니다. 주요 내용으로는 C 프로그램의 구조, 변수 선언, 연산자 사용, 함수 정의 및 호출 등이 포함되어 있습니다. 이를 통해 C 프로그래밍의 기본적인 이해와 실습 경험을 얻을 수 있습니다. 2. 데이터 타입 및 크기 이 자료에서는 C 언어의 다양한 데이터 타입(char, int, float, double 등)과 각 타입의 메모리 크기를 소개하고 있습니다. 이를 통해 데이터 타입 선택의 중요성과 메모리 관리의 기초를 이해할 수 있습니다. 3...2025.01.26
-
소프트웨어 보안 CWE Top 25 보안 약점 과제2025.01.121. Use After Free (UAF) UAF는 해제된 메모리 영역을 재사용할 때 발생하는 보안 약점으로, Heap 영역에서 일어나는 문제입니다. 해제된 메모리 공간이 새로운 포인터에 할당될 경우 그 포인터가 해당 영역의 값과 주소 값을 사용할 수 있게 되어 발생합니다. 이를 악용하여 공격자가 해당 영역을 공격 코드로 덮으면 개발자가 의도치 않게 공격 코드를 실행할 수 있습니다. 2. Server-Side Request Forgery (SSRF) SSRF는 서버 측에서 피해자에게 위조된 요청을 보내도록 하는 공격입니다. 웹 서버...2025.01.12
-
병렬프로그래밍 CUDA 프로그래밍 과제1 - Vector Addition2025.05.061. CPU를 이용한 벡터 덧셈 계산 CPU로 처리해서 벡터 합을 계산하는 코드를 제공하였습니다. 이 코드는 벡터의 크기를 입력받아 각 벡터의 원소들을 더하여 결과를 생성합니다. 시간 측정을 통해 벡터의 크기가 커질수록 연산 시간이 늘어나는 것을 확인할 수 있습니다. 2. GPU를 이용한 벡터 덧셈 계산 GPU로 처리해서 벡터 합을 계산하는 코드를 제공하였습니다. 이 코드는 CPU 코드와 유사하지만 CUDA 함수를 사용하여 GPU에서 병렬 처리를 수행합니다. 시간 측정 결과, 벡터의 크기가 10,000,000 이상일 때부터 GPU ...2025.05.06
-
건국대학교 객체지향프로그래밍_3주차_랩실습보고서2025.05.011. 객체지향프로그래밍 이 보고서는 건국대학교 객체지향프로그래밍 수업의 3주차 랩실습 내용을 다루고 있습니다. 주요 내용은 파일로부터 동적 메모리 할당, 메모리 출력 및 저장, 메모리 정리 등입니다. 이를 통해 C++의 동적 메모리 관리 기능을 실습하고 이해할 수 있습니다. 1. 객체지향프로그래밍 객체지향프로그래밍은 소프트웨어 개발에 있어 매우 중요한 패러다임입니다. 이 방식은 현실 세계의 개체를 모방하여 프로그램을 구축하는 것으로, 코드의 재사용성, 유지보수성, 확장성 등 많은 장점을 가지고 있습니다. 객체지향 프로그래밍은 클래스...2025.05.01
-
메모리 단편화(Memory Fragmentation)의 개념과 해결 방안2025.01.161. 메모리 단편화의 개념 메모리 단편화는 사용가능한 메모리가 충분하지만 메모리 공간이 조각으로 분할되어 프로그램이 필요한 만큼의 메모리 공간을 할당 받지 못하는 상태를 말합니다. 메모리 단편화의 원인으로는 메모리 할당 정책이나 알고리즘이 메모리를 비효율적으로 사용하게 되는 경우, 메모리 할당 및 해제 과정에서 메모리 블록들이 불연속적으로 배치되는 경우, 메모리를 할당하고 해제하는 순서나 크기가 문제가 되는 경우, 프로그램 실행 중에 메모리 사용량이 바뀌는 경우 등 다양한 원인들이 있습니다. 2. 내부 단편화와 외부 단편화의 개념 ...2025.01.16