wisdom in yellow 2021. 7. 28. 20:36

  • 포인터의 개념에 대해 설명할 수 있다.
  • 포인터 변수를 이용하여 데이터 변수값을 참조할 수 있다.

포인터 개념

  • 포인터: 특정 위치를 가리키는 주소 정보
  • 포인터 변수: 포인터(주소)를 저장하는 변수

포인터 변수의 크기(주소의 크기)는 일반적으로 4바이트이지만 시스템에 따라 다름

 

포인터 변수의 역할은 다른 변수를 가리키는 변수

포인터 변수의 데이터 타입은 포인팅하는 변수의 데이터 타입과 동일한 타입으로 선언

포인터 초기화

&: 주소 구하기 연산자

데이터 변수: 변수의 주소를 의미

*포인터 변수: 포인터 변수가 가리키는 주소의 값

이중 포인터

포인터 변수의 주소를 저장하는 포인터 변수

이중 포인터가 가리키는 포인터를 이용해서 변수에 접근하려면 **처럼 두 번 간접 참조를 해야 함

포인터 오류

-포인터도 변수이므로 반드시 초기화 해야 함

-포인터 변수를 초기화하지 않고 사용하면 실행 에러가 발생함

-널포인터: 포인터가다른변수를가리키지않을때는NULL(0)로초기화함

-포인터를안전하게사용하려면우선포인터가널포인터인지를검사

-포인터 변수의 데이터형이 반드시 포인터 변수가 가리키는 변수의 데이터형과 일치해야 함

[정리]
1. 포인터 이해

• 포인터 : 다른 변수의 주소를 저장하는 변수
• 포인터의 선언 : 데이터형*변수명이 필요함
예) int * p;
• 포인터의 사용 : 변수의 주소를 구할 때는 주소 구하기 연산자 &를 이용하고, 포인터가 가리키는 변수에 접근할 때는   간접 참조 연산자 *를 이용함
 예) int *p = &x;
  *p = 10

2. 포인터 이용

•포인터 사용 시 주의사항
 - 포인터 변수는 포인터가 가리키는 변수의 데이터형과 일치하도록 선언해야 함
 - 잘못된 포인터를 사용하는 것은 위험하므로, 포인터가 가리키는 변수가 없을 때는 NULL을 저장