학습내용
학습목표
- 포인터의 개념에 대해 설명할 수 있다.
- 포인터 변수를 이용하여 데이터 변수값을 참조할 수 있다.
포인터 이해
1. 포인터 개념
- 포인터 : 특정 위치를 가리키는 주소 정보
- 포인터 변수 : 포인터(주소)를 저장하는 변수
- * 포인터 변수의 크기(주소의 크기)는 일반적으로 4바이트이지만 시스템에 따라 다름 *
2. 포인터 변수
- 포인터 변수의 데이터 타입은 포인팅하는 변수의 데이터 타입과 동일한 타입으로 선언
- char* : char형 변수의 주소 저장
- int* : int형 변수의 주소 저장
- double* : double형 변수의 주소 저장
3. 포인터 초기화
- & : 주소 구하기 연산자
- &데이터 변수 : 변수의 주소를 의미
- *포인터 변수 : 포인터 변수가 가리키는 주소의 값
포인터 이용
1. 포인터 다루기
2. 이중 포인터
1) 포인터 변수의 주소를 저장하는 포인터 변수
3. 포인터 오류
1) 포인터도 변수이므로 반드시 초기화해야 함
2) 포인터 변수를 초기화하지 않고 사용하면 실행 에러가 발생함
3) 널 포인터 : 포인터가 다른 변수를 가리키지 않을 때는 NULL(0)로 초기화함
4) 포인터를 안전하게 사용하려면 우선 포인터가 널 포인터인지를 검사
5) 포인터 변수의 데이터형이 반드시 포인터 변수가 가리키는 변수의 데이터형과 일치해야 함
학습정리
1. 포인터 이해
- 포인터 : 다른 변수의 주소를 저장하는 변수
- 포인터의 선언 : 데이터형 * 변수명이 필요함
- ex) int * p ;
- 포인터의 사용 : 변수의 주소를 구할 때는 주소 구하기 연산자 &를 이용하고, 포인터가 가리키는 변수에 접근할 때는 간접 참조 연산자 *를 이용함
- ex) int * p = &x;
- * p = 10 ;
2. 포인터 이용
- 포인터 사용 시 주의사항
- 포인터 변수는 포인터가 가리키는 변수의 데이터형과 일치하도록 선언해야 함
- 잘못된 포인터를 사용하는 것은 위험하므로, 포인터가 가리키는 변수가 없을 때는 NULL을 저장함