
총 101개
-
C언어에서 메모리를 효율적으로 활용하기 위한 포인터의 활용2025.05.061. 포인터 정의 포인터는 변수의 주소를 나타내는 변수이다. 변수는 메모리 상의 어떤 위치에 할당되며, 이 위치를 주소(address)라고 한다. 포인터는 이러한 변수의 주소를 저장하고, 이 주소를 통해 변수에 접근할 수 있다. 포인터를 선언할 때는 포인터 변수의 자료형을 지정해야 하며, 포인터 변수의 자료형은 포인터가 가리키는 변수의 자료형과 일치해야 한다. 2. 포인터 변수 정의와 예제 포인터 변수는 메모리의 주소를 저장하는 변수이다. 포인터 변수를 사용하면 변수의 값을 직접 변경하거나, 함수의 인자로 포인터를 사용하여 함수 외...2025.05.06
-
C언어 - 포인터에 관련한 다음 물음들에 대한 답을 제시하시오2025.01.271. 포인터의 개념과 기능 포인터의 개념은 '주소를 저장하는 변수'로 여기에는 두 가지 중요한 점이 있습니다. 하나는 '주소를 저장한다'는 것이고 다른 하나는 '변수'라는 것입니다. 포인터는 정의할 때 *를 붙이며, 포인터에 어떤 주소를 넣느냐에 따라 정수형 포인터, 문자 포인터, 함수 포인터 등의 이름이 지정됩니다. 포인터는 메모리를 저장할 수 있는 특징이 있지만, 변수이기 때문에 생성만 해놓은 상태만으로는 아무것도 할 수 없습니다. 다른 변수의 메모리 주소를 대입하거나 메모리를 할당하는 함수를 사용하여 메모리를 할당받은 후, 해...2025.01.27
-
재귀함수와 포인터의 개념 및 활용2025.01.191. 재귀함수 재귀함수는 자기 자신을 다시 호출하는 함수로, 주어진 문제를 더 작은 하위 문제로 분해하여 해결하는 방식으로 동작합니다. 재귀함수는 종료 조건을 명시적으로 정의해야 하며, 이 조건이 충족될 때 함수 호출을 중단하고 반환값을 계산합니다. 재귀함수는 분할 정복 알고리즘, 백트래킹, 데이터 구조 순회, 수학적 계산 및 문제 해결, 문자열과 배열 처리 등 다양한 분야에서 활용됩니다. 2. 포인터 포인터는 메모리의 주소를 저장하는 변수로, C언어에서 메모리 관리와 복잡한 데이터 구조 구현에 중요한 역할을 합니다. 포인터는 메모...2025.01.19
-
C언어 1 - 재귀함수와 포인터의 개념 및 활용2025.01.151. 재귀함수 재귀함수는 함수가 자기 자신을 호출하여 문제를 해결하는 기법입니다. 이 기법은 큰 문제를 작은 문제로 나누어 해결할 수 있게 해주며, 특히 반복적이고 계층적인 구조의 문제를 해결하는 데 유용합니다. 재귀함수를 사용할 때는 기본 조건(base case)과 재귀 조건(recursive case)을 명확히 정의해야 합니다. 재귀함수의 대표적인 사용 사례로는 팩토리얼 계산, 피보나치 수열 계산, 트리 탐색 등이 있습니다. 2. 포인터 포인터는 다른 변수의 메모리 주소를 저장하는 변수로, 간접적으로 변수에 접근하고 조작할 수 ...2025.01.15
-
큐와 스택의 구조를 삽입과 삭제 시 연산자의 이름(함수)과 위치(포인터)를 기준으로 비교하여 설명하여라2025.05.091. 큐의 구조와 삽입/삭제 연산 큐는 선입선출(FIFO) 자료구조로, 1차원 배열을 이용하여 구현할 수 있습니다. 큐의 삽입(enqueue) 연산은 rear 포인터를 이용하여 배열의 마지막 위치에 데이터를 추가하고, 삭제(dequeue) 연산은 front 포인터를 이용하여 배열의 첫 번째 데이터를 제거합니다. 2. 스택의 구조와 삽입/삭제 연산 스택은 후입선출(LIFO) 자료구조로, 리스트를 이용하여 구현할 수 있습니다. 스택의 삽입(push) 연산은 리스트의 마지막 위치에 데이터를 추가하고, 삭제(pop) 연산은 리스트의 마지막...2025.05.09
-
포인터 연산, 1차원 배열의 합과 평균, 행렬의 회전, a의b승의 계산 결과 및 갯수2025.01.161. 포인터 연산 포인터 변수를 선언하고 증가시키는 예제를 직접 코딩하여 포인터 연산의 원리를 이해한다. 포인터 변수의 값이 증가하기 전과 후의 변화를 확인할 수 있다. 2. 1차원 배열의 합과 평균 사용자로부터 10개의 정수를 입력받아 배열에 저장한 후, 배열 원소의 합과 평균을 계산하여 출력한다. for문과 cin, cout 함수를 활용하여 문제를 해결한다. 3. 행렬의 회전 3x3, 5x5, 7x7 크기의 2차원 배열에 1부터 차례대로 값을 넣고, 마지막 열부터 위에서 아래로 차례대로 출력하여 90도 회전된 행렬을 확인한다. ...2025.01.16
-
과제(2) | 4주차 | C언어 고급 실습2025.01.201. 배열과 포인터 이 과제에서는 배열과 포인터의 개념을 이해하고 활용하는 방법을 다룹니다. 배열의 선언과 초기화, 포인터 변수의 선언과 활용, 포인터와 배열의 관계 등을 실습하여 C언어 프로그래밍 능력을 향상시킬 수 있습니다. 2. 포인터 타입 한정자 이 과제에서는 포인터 타입 한정자(const, volatile 등)의 개념과 사용법을 학습합니다. 포인터 변수의 값과 포인터가 가리키는 값을 각각 수정할 수 있는지 여부를 이해하고 적절한 포인터 타입 한정자를 사용하는 방법을 익힙니다. 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
-
과제(3) | 5주차 | C언어 고급 실습2025.01.201. 배열 사용 이 과제에서는 배열을 사용하여 다양한 작업을 수행합니다. 배열의 크기를 구하고, 배열의 최대값을 찾는 함수를 구현하며, 2차원 배열과 포인터 배열을 활용하는 방법을 보여줍니다. 2. 함수 포인터 이 과제에서는 함수 포인터를 사용하여 다양한 함수를 동적으로 호출하는 방법을 보여줍니다. 함수 포인터 배열을 선언하고 초기화하여 함수를 실행하는 방법을 설명합니다. 3. 구조체 사용 이 과제에서는 구조체를 사용하여 데이터를 저장하고 조작하는 방법을 보여줍니다. 구조체 변수를 선언하고 초기화하며, 구조체 포인터를 사용하여 구조...2025.01.20
-
시스템프로그래밍 레지스터의 역할과 종류2025.05.091. 레지스터의 종류 레지스터에는 데이터 레지스터, 포인터 레지스터, 인덱스 레지스터, 플래그 레지스터, 세그먼트 레지스터 등이 있다. 데이터 레지스터는 일시적인 결과를 기록하고, 포인터 레지스터는 스택 포인터와 베이스 포인터로 구성되어 스택 조작에 사용된다. 인덱스 레지스터는 데이터의 주소를 저장하고, 플래그 레지스터는 연산 결과의 정보를 저장한다. 세그먼트 레지스터는 세그먼트의 시작 주소를 저장한다. 2. 논리주소와 물리 주소의 관계 8086에서 출력된 주소 데이터는 세그먼트 레지스터 값을 4비트 시프트 한 것에 오프셋 값을 가...2025.05.09