과제1. 문서화
-포인터 변수의 정의와 선언
포인터 변수: 메모리 주소에 이름 지정
변수: 메모리 공간에 이름 지정
그림 1은 분리형 포인터 선언: po라는 포인터 변수는 add라는 변수의 주소값
그림 2은 통합형 포인터 선언: po2라는 포인터 변수는 add2라는 변수의 주소값
-포인터 배열
po3라는 포인터 변수는 add3[0]라는 변수의 주소값
*(po3+1)=add3[1]
*(po3+2)=add3[2]
-참조의 정의와 선언
참조: 별명, 메모리 변화 없음
-포인터/참조 비교
| 포인터변수 | 참조 | |
| 초기화 | 메모리 주소를 새로 정의해주는 것이기 때문에 메모리 공간 할당 | 별명이라서 별도의 메모리 할당 X |
| 대상 변경 | 가능 | 불가능 |
| 접근 | 배열에서 +1하면 다음 인덱스로 이동하는 등 비교적 이동 자유로움 | 이동/접근 불가능=더 안전하다! |
-함수 호출
함수 호출: 매개 변수에 인자를 넣어 함수를 실행함. 함수(인자)꼴이다.
함수의 인자 전달 방식 1:Call By Value
e=a, f=b가 된다. e, f 값은 호출된 함수 실행이 끝나고 변하지 않는다.
함수의 인자 전달 방식 2:Call By Address
&e=*a, &f=*b가 된다. e, f 값에 포인터 변수가 지정됐기 때문에 호출된 함수 실행이 끝나고 e,f값이 변한다.
함수의 인자 전달 방식 3:Call By Reference
e=&a, f=&b가 된다. e,f는 a,b 주소의 변수값이 되므로 호출된 함수 실행이 끝나고 e,f 값이 변한다.
-인라인 함수
C++ 실행 속도 개선을 위함
클래스 선언을 통한 멤버함수 반복>처리시간, 메모리, CPU 자원 낭비(오버헤드 현상)
컴파일 과정에서 Inline 함수 부분이 메인 함수에 삽입->메인함수에서 실행
일반 함수는 메인함수>호출함수>메인함수라면,
인라인 함수는 메인함수로 끌고와서 메인함수에서만 모든 과정 실행
선언 방법
inline [자료형] [함수이름]([매개변수])
과제2. 계좌 별 자산 관리 서비스 프로그램