총 23개
-
C언어에서 메모리를 효율적으로 활용하기 위한 포인터의 활용2025.05.061. 포인터 정의 포인터는 변수의 주소를 나타내는 변수이다. 변수는 메모리 상의 어떤 위치에 할당되며, 이 위치를 주소(address)라고 한다. 포인터는 이러한 변수의 주소를 저장하고, 이 주소를 통해 변수에 접근할 수 있다. 포인터를 선언할 때는 포인터 변수의 자료형을 지정해야 하며, 포인터 변수의 자료형은 포인터가 가리키는 변수의 자료형과 일치해야 한다. 2. 포인터 변수 정의와 예제 포인터 변수는 메모리의 주소를 저장하는 변수이다. 포인터 변수를 사용하면 변수의 값을 직접 변경하거나, 함수의 인자로 포인터를 사용하여 함수 외...2025.05.06
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제42025.01.201. 구조체 과제(4)에서는 구조체 rect를 정의하고, 이를 원소로 가지는 배열 shapes를 선언 및 초기화합니다. 이후 for문을 통해 shapes 배열의 각 원소에 대해 calc_area 함수를 실행하여 면적을 계산하고 출력합니다. 2. 포인터 2번 문제에서는 int형 변수 x, y의 값을 swap 함수를 통해 교환합니다. swap 함수는 int형 포인터 변수 px, py를 매개변수로 받아 간접 참조를 통해 값을 교환합니다. 3번 문제에서는 레퍼런스를 사용하여 동일한 기능을 구현합니다. 3. qsort 4번 문제에서는 qso...2025.01.20
-
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.05.051. 자체 참조 구조체 자체 참조 구조체는 자신과 같은 구조체 형태를 가진 다른 구조체를 가리키는 구조체입니다. 이 코드에서는 student 구조체를 정의하고, 각 student 구조체 객체는 다음 student 구조체를 가리키는 포인터 next를 가지고 있습니다. 이를 통해 연결 리스트 형태로 student 구조체들을 연결할 수 있습니다. 1. 자체 참조 구조체 자체 참조 구조체는 데이터 구조에서 매우 중요한 개념입니다. 이는 구조체 내부에 자신과 동일한 타입의 멤버 변수를 포함하는 구조체를 의미합니다. 이러한 구조체는 복잡한 데...2025.05.05
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제92025.01.201. C언어 객체 지향 프로그래밍 이 프레젠테이션은 C언어의 객체 지향 프로그래밍 개념을 다룹니다. 주요 내용으로는 Circle 클래스 정의, 객체 생성 및 포인터 활용, 객체 배열 생성 및 활용, 동적 메모리 할당, String 클래스 사용 등이 포함됩니다. 각 예제를 통해 객체 지향 프로그래밍의 기본 개념과 구현 방법을 학습할 수 있습니다. 1. C언어 객체 지향 프로그래밍 C언어는 본래 절차지향 프로그래밍 언어로 설계되었지만, 객체지향 프로그래밍 기법을 일부 지원하도록 확장되었습니다. C언어에서 객체지향 프로그래밍을 구현하기 ...2025.01.20
-
c로 배우는 쉬운 자료구조 개정3판 2단원 연습문제2025.01.171. 배열을 사용한 학생 성적 처리 16개 학생의 국어, 영어, 수학 성적을 배열에 저장하고 총점과 평균을 계산하여 출력하는 프로그램을 작성합니다. 배열을 사용하여 학생들의 성적 정보를 효율적으로 관리할 수 있습니다. 2. 포인터를 사용한 실수 값 교환 두 개의 실수 값을 포인터를 사용하여 교환하고 출력하는 함수를 작성합니다. 포인터를 활용하면 변수의 값을 직접 변경할 수 있어 효율적인 데이터 처리가 가능합니다. 3. 구조체를 이용한 주소록 프로그램 이름, 전화번호, 주소, 생일 정보를 저장하는 주소록 프로그램을 작성합니다. 구조체...2025.01.17
-
[C++ 프로그래밍-방송통신대-24-2학기-출석수업과제물] 각 예제의 완성된 소스코드(각 라인별로 주석(설명) 새로 추가)와 실행결과 화면을 제출하시오.2025.01.261. FirstStep.cpp 수정 주어진 FirstStep.cpp 파일은 C++로 작성된 간단한 출력 프로그램이다. 기존 코드는 std::cout을 사용하여 "나의 첫 번째 C++ 프로그램"이라는 문자열을 출력하고, std::endl을 이용해 줄바꿈 처리를 하고 있다. 문제에서 요구한 사항은 5행의 코드를 std:: 네임스페이스를 사용하지 않고 cout과 endl만 사용하도록 수정하는 것이다. 수정 후 코드는 네임스페이스를 명시하지 않으면서도 동일한 결과를 출력할 수 있기 때문에 코드가 더 간결해지고, 가독성도 높아졌다. 2. 배...2025.01.26
-
C언어 구조체와 포인터를 이용한 연결 리스트 구현2025.11.131. 구조체(Structure) C언어에서 구조체는 여러 데이터 타입을 하나의 단위로 묶어서 관리하는 자료구조입니다. 본 예제에서는 node 구조체를 정의하여 문자 데이터(char data)와 다음 노드를 가리키는 포인터(struct node *link)를 포함시켜 연결 리스트의 기본 단위로 사용하고 있습니다. 2. 포인터(Pointer) 포인터는 메모리 주소를 저장하는 변수로, 동적 메모리 할당과 자료구조 구현에 필수적입니다. 본 코드에서는 malloc()을 통해 동적으로 메모리를 할당받고, 포인터 변수 a, b, c가 각 노드를...2025.11.13
-
포인터를 사용한 2D 배열 덧셈2025.11.131. C언어 포인터 C언어에서 포인터는 메모리 주소를 저장하는 변수입니다. 포인터를 사용하면 배열의 요소에 직접 접근할 수 있으며, 동적 메모리 할당과 함수 인자 전달 등에 활용됩니다. 이 예제에서는 2D 배열의 첫 번째 요소 주소를 포인터에 저장하여 배열 요소에 접근합니다. 2. 2D 배열 연산 2D 배열은 행과 열로 구성된 2차원 데이터 구조입니다. 이 예제에서는 3x3 크기의 두 배열 a와 b의 대응하는 요소들을 더하여 새로운 배열 c를 생성합니다. 포인터를 통해 각 배열의 요소에 순차적으로 접근하여 덧셈 연산을 수행합니다. ...2025.11.13
-
세종대 자료구조실습 3주차 재귀 실습 코드2025.11.121. 재귀함수(Recursion) 재귀함수는 함수가 자기 자신을 호출하는 프로그래밍 기법입니다. 이 실습에서는 재귀함수의 기본 개념을 학습하며, 종료 조건(base case)을 설정하여 무한 루프를 방지합니다. 예제들은 숫자의 합 계산, 숫자 자릿수 출력, 배열의 최댓값 찾기 등 다양한 문제를 재귀로 해결하는 방법을 보여줍니다. 2. 하노이탑 알고리즘(Tower of Hanoi) 하노이탑은 재귀 알고리즘의 고전적인 예제입니다. n개의 원반을 시작 기둥에서 목표 기둥으로 옮기는 문제로, 더 큰 원반이 작은 원반 위에 올 수 없다는 규...2025.11.12
