자료구조 - 배열, 구조체, 포인터 요약 및 소스 분석, 코드 개선 과제
- 최초 등록일
- 2020.09.01
- 최종 저작일
- 2020.04
- 7페이지/ 한컴오피스
- 가격 2,000원
소개글
자료구조 강의의 3주차 강의인 배열, 구조체, 포인터에 대한 분석 및 프로그램 소스 분석(역코딩), 코드개선(순코딩), 디버깅을 담은 레포트
목차
1. 3장 배열, 구조체, 포인터 요점정리 (수업시간 요점 정리 내용)
2. 분석&설계(역공학) - 디버깅내용(손분석, 화면캡쳐)
3. 구현&개선(순공학) - 개선코드(구현된 코드를 개선한 코드를 구현하고 주석달기)
본문내용
1-1 3장 배열, 구조체, 포인터 요점정리 (수업시간 요점 정리 내용)
1. 구조체와 배열
1.1. 구조체(structure): 타입이 다른 데이터를 하나로 묶는 방법
1.2. 배열(array): 타입이 같은 데이터들을 하나로 묶는 방법
2. 소행렬
2.1. 표현방법
(1) 2차원 배열을 이용하여 배열의 전체 요소를 저장하는 방법
-> 장점: 행렬의 연산들을 간단하게 구현할 수 있다.
-> 단점: 대부분의 항들이 0인 희소 행렬의 경우 많은 메모리 공간 낭비
(2) 0이 아닌 요소들만 저장하는 방법
-> 장점: 희소 행렬의 경우, 메모리 공간의 절약
-> 단점: 각종 행렬 연산들의 구현이 복잡해진다.
3. 포인터
3.1. 포인터 : 다른 변수의 주소를 가지고 있는 변수
3.2. 연산자
(1) & 연산자: 변수의 주소를 추출
(2) * 연산자: 포인터가 가리키는 곳의 내용을 추출
4. 동적 메모리 할당
4.1. 동적 메모리 할당
(1) 프로그램의 실행 도중에 메모리를 할당 받는 것
(2) 필요한 만큼만 할당을 받고 또 필요한 때에 사용하고 반납
(3) 메모리를 매우 효율적으로 사용 가능
1-2 분석&설계(역공학) - 디버깅내용(손분석, 화면캡쳐)
1. 분석내용1
1.1. array1.c
2. SIZE를 매크로 3으로 지정
4. list의 값을 받는 함수 get_integers 선언
7. 인덱스 0~5의 배열 값 받음
12. 배열 list의 값을 더하는 함수 cal_sum 선언
16. 배열 list의 값을 더함
25. 함수를 통해 계산된 값 출력
: 값을 배열로 입력 받은 뒤 값들을 더하는 코드
2. 분석내용 2
1.1. malloc.c
13. 동적 메모리 할당
25. 동적 메모리 해제
3. 분석내용3
1.1. malloc2.c
: 동적 메모리 사용 및 반납 코드5. studentTag 구조체 생성
13. 구조체 포인터 선언
15. 메모리 할당
21. 화살표 연산자로 구조체 멤버에 접근하여 값 할당
24. 동적 메모리 해제
참고 자료
없음