한성대학교 김설현교수님 강의내용을 바탕으로 작성함
포인터의 기본사항
일반적인 변수는 데이터 값(정수, 실수 값, 문자 등)을 저장하지만, 포인터는 데이터값이 저장된 변수의 메모리 주소를 저장
int count =5; //변수
int *pCount = &count; //포인터
int 4byte, short 2btye, char 1byte지만 포인터는 변수조율에 상관없이 4byte할당

선언된 다음에는 간접참조 연사자(*)를 통해 포인터 변수가 가리키는 값에 접근 가능
count++;
(*pCount)++;
포인터와 const의 사용
const키워드를 사용하여 상수를 선언할 수 있고, 일단 상수로 선언하면 변경할 수 없기에 선언과 동시에 초기화 해야한다.
double radius = 5;
double * const pValue = &radius; //선언과 동시에 초기화
const double * pValue = &radius; // 포인터가 상수가 아니라 데이터가 상수가 된다.
배열과 포인터
배열이름은 배열의 시작 주소를 나타낸다. 아래와 같이 선언했을 떄, list는 시작주소는 &list[0]이다.
int list[6] = {11, 12, 13, 14, 15, 16};
list+1은 list+sizeof(int)가 된다.

함수에서 배열 매개변수는 항상 포인터 매개변수를 사용하는 것으로 대체될 수 있다.
void m (int list[] , int size)
void m (int* list, int size)
둘 다 list는 배열의 시작주소
728x90
'개발 > C++' 카테고리의 다른 글
14장 연산자 오버로딩 (0) | 2021.12.09 |
---|---|
13장 파일 입력과 출력 (0) | 2019.05.21 |
12장 템플릿, 벡터, 스택 (0) | 2019.05.13 |
11장 포인터와 동적 메모리 관리(후) (0) | 2019.05.09 |
10장 객체 지향 개념 (0) | 2019.02.11 |
9장 객체와 클래스 (0) | 2019.01.19 |
8장 다차원 배열 (0) | 2019.01.16 |
7장 1차원 배열 (0) | 2019.01.15 |
댓글