총 181개
-
C언어에서 메모리를 효율적으로 활용하기 위한 포인터의 활용2025.05.061. 포인터 정의 포인터는 변수의 주소를 나타내는 변수이다. 변수는 메모리 상의 어떤 위치에 할당되며, 이 위치를 주소(address)라고 한다. 포인터는 이러한 변수의 주소를 저장하고, 이 주소를 통해 변수에 접근할 수 있다. 포인터를 선언할 때는 포인터 변수의 자료형을 지정해야 하며, 포인터 변수의 자료형은 포인터가 가리키는 변수의 자료형과 일치해야 한다. 2. 포인터 변수 정의와 예제 포인터 변수는 메모리의 주소를 저장하는 변수이다. 포인터 변수를 사용하면 변수의 값을 직접 변경하거나, 함수의 인자로 포인터를 사용하여 함수 외...2025.05.06
-
과제(3) | 5주차 | C언어 고급 실습2025.01.201. 배열 사용 이 과제에서는 배열을 사용하여 다양한 작업을 수행합니다. 배열의 크기를 구하고, 배열의 최대값을 찾는 함수를 구현하며, 2차원 배열과 포인터 배열을 활용하는 방법을 보여줍니다. 2. 함수 포인터 이 과제에서는 함수 포인터를 사용하여 다양한 함수를 동적으로 호출하는 방법을 보여줍니다. 함수 포인터 배열을 선언하고 초기화하여 함수를 실행하는 방법을 설명합니다. 3. 구조체 사용 이 과제에서는 구조체를 사용하여 데이터를 저장하고 조작하는 방법을 보여줍니다. 구조체 변수를 선언하고 초기화하며, 구조체 포인터를 사용하여 구조...2025.01.20
-
[건국대학교 컴퓨터프로그래밍2 A+][2024 Ver] 과제12025.01.201. 포인터 변수 char 포인터 변수 s에 Kate배열의 첫번째 원소의 포인터값이 들어간다. printf를 이용하여 s의 첫번째 원소의 포인터값, s배열 자체의 포인터값을 출력한다. 그 뒤 printf함수를 반복사용하여 s의 첫번째 원소의 포인터값을 %s로 출력한다. (따라서 널문자까지 배열에 저장된 값을 다 출력하기 때문에 Kate가 출력됨) / 그 뒤 s[2]에 저장된 값을 %c로 출력한다. (따라서 문자 t가 출력됨) 2. char 배열 char 배열 a에 "Kate"값을 대입한다. printf를 이용하여 a의 첫번째 원소의...2025.01.20
-
[자료구조] 구조체 배열을 이용한 추가 삭제 SUM을 구현한 소스코드2025.05.051. 자료구조 이 코드는 배열을 이용한 리스트 ADT(Abstract Data Type)를 구현한 것입니다. 구조체 ArrayListType을 정의하고, 초기화, 추가, 삭제, 합계 등의 기능을 구현하고 있습니다. 배열의 크기는 MAX_LIST_SIZE로 정의되어 있으며, 배열의 길이를 나타내는 length 변수를 사용하여 리스트의 크기를 관리합니다. 이를 통해 리스트의 기본적인 CRUD(Create, Read, Update, Delete) 연산을 수행할 수 있습니다. 2. 배열 이 코드에서는 배열을 사용하여 리스트를 구현하고 있습...2025.05.05
-
큐와 스택의 구조를 삽입과 삭제 시 연산자의 이름(함수)과 위치(포인터)를 기준으로 비교하여 설명하여라2025.05.091. 큐의 구조와 삽입/삭제 연산 큐는 선입선출(FIFO) 자료구조로, 1차원 배열을 이용하여 구현할 수 있습니다. 큐의 삽입(enqueue) 연산은 rear 포인터를 이용하여 배열의 마지막 위치에 데이터를 추가하고, 삭제(dequeue) 연산은 front 포인터를 이용하여 배열의 첫 번째 데이터를 제거합니다. 2. 스택의 구조와 삽입/삭제 연산 스택은 후입선출(LIFO) 자료구조로, 리스트를 이용하여 구현할 수 있습니다. 스택의 삽입(push) 연산은 리스트의 마지막 위치에 데이터를 추가하고, 삭제(pop) 연산은 리스트의 마지막...2025.05.09
-
데이터 구조 및 알고리즘: 이진 탐색, 인접행렬, 인접리스트2025.11.151. 이진 탐색 이진 탐색은 정렬된 배열에서 특정 값을 효율적으로 찾는 검색 알고리즘입니다. 분할 정복 전략을 활용하여 탐색 범위를 반으로 줄이면서 목표값을 찾습니다. 시작점, 중간점, 종료점을 기준으로 중간값을 검사하여 범위를 조정합니다. 예를 들어 배열 [10, 24, 31, 45, 59, 63, 72, 88, 95]에서 63을 찾을 때, 중간값 45와 비교하여 오른쪽 범위로 조정하고, 다시 72와 비교하여 왼쪽 범위로 조정한 후 63을 찾습니다. 대규모 데이터셋에서 검색 작업의 효율성을 크게 증대시킵니다. 2. 인접행렬 인접행...2025.11.15
-
C언어 성적 처리 프로그램2025.11.161. C언어 배열과 포인터 C언어에서 2차원 배열을 이용하여 학생 성적 데이터를 저장하고 관리하는 방법을 다룬다. 5명의 학생과 3개 과목(국어, 영어, 수학)의 성적을 scores[6][5] 배열에 저장하며, 포인터를 활용하여 배열 요소에 접근한다. 배열의 6번째 행은 과목별 총점을 저장하는 용도로 사용되며, 이를 통해 메모리 효율적인 데이터 관리를 학습할 수 있다. 2. 성적 통계 계산 프로그램은 학생별 총점, 과목별 총점, 과목별 평균을 계산한다. 각 학생의 3개 과목 점수를 합산하여 총점을 구하고, 모든 학생의 각 과목 점수...2025.11.16
-
[건국대학교 컴퓨터프로그래밍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
-
세종대 자료구조실습 3주차 재귀 실습 코드2025.11.121. 재귀함수(Recursion) 재귀함수는 함수가 자기 자신을 호출하는 프로그래밍 기법입니다. 이 실습에서는 재귀함수의 기본 개념을 학습하며, 종료 조건(base case)을 설정하여 무한 루프를 방지합니다. 예제들은 숫자의 합 계산, 숫자 자릿수 출력, 배열의 최댓값 찾기 등 다양한 문제를 재귀로 해결하는 방법을 보여줍니다. 2. 하노이탑 알고리즘(Tower of Hanoi) 하노이탑은 재귀 알고리즘의 고전적인 예제입니다. n개의 원반을 시작 기둥에서 목표 기둥으로 옮기는 문제로, 더 큰 원반이 작은 원반 위에 올 수 없다는 규...2025.11.12
-
이성질체 탐구보고서2025.01.281. 이성질체 이성질체란 분자식은 같지만 구조가 다른 화합물을 말한다. 이성질체에는 구조 이성질체와 입체 이성질체가 있다. 구조 이성질체는 원자들의 연결 순서가 다른 경우이고, 입체 이성질체는 분자식과 연결 순서는 같지만 3차원적 배치가 다른 경우이다. 입체 이성질체에는 광학 이성질체와 기하 이성질체가 있다. 광학 이성질체는 서로 거울상을 이루고, 기하 이성질체는 이중결합으로 인해 회전이 제한되어 생기는 이성질체이다. 이러한 이성질체 현상은 화학 분야에서 중요한 개념이며, 생물학적으로도 아미노산, 당류 등 생명체 내 주요 화합물에서...2025.01.28
