용어 | 정리 |
---|---|
포인터 | 변수 등의 식별자가 메모리에 저장된 공간의 주소를 가리키는 개념 |
참조에 의한 호출(call by reference) | 함수를 호출 시 값이 아닌 참조를 사용하는 것 포인터 변수를 함수의 인자로 넘겨주는 방법 함수 선언 : 타입* 변수명 함수 호출 시 인자 함수명(&변수명) |
참조에 의한 호출( | |
포인터의 크기(size of pointer) | 타입과 같은 크기를 가진다 포인터가 타입을 가지기 때문에 같은 타입의 변수에 대한 역참조가 가능해짐 타입이 없는 void타입의 연산자는 누구든 가리킬 수 있지만 역참조는 어떤 타입으로든 불가능하다 |
화살표 연산자(arrow operator) | 구조체 포인터에서 표현에 따른 혼동을 방지하기 위해서 정의한 구조체 포인터 전용 연산자이다 |
참조형(reference type) | c++에서 조금 더 쉽게 사용하도록 만든 참조형 타입 자료형& 변수명 = 참조할 변수; 선언과 동시에 초기화되고 다른 변수를 참조하도록 변경할 수 없기 때문에 함수의 매개변수로 주로 사용됨 함수 정의 부분 : 함수 타입 함수명 (타입& 매개변수 이름) |
동적 메모리 할당(dynamic memory allocation) | 프로그래머가 필요할 때 만들고 삭제하는 가변적인 메모리 관리 방법 C스타일 : malloc과 calloc C++ 포인터변수 = new 타입; + delete 포인터 변수; 메모리리킹 메모리 부족 현상 + dangling pointer를 주의해서ㅏ 사용해보자 |
함수 포인터(function pointer) | 식별자가 함수인 타입의 메모리 저장 공간의 주소를 저장한 포인터이다 일반적인 포인터와 같게 작동 함수도 주소를 참조할 수 있는 다른 일반적인 변수처럼 l-value의 성질을 가짐 |