본문 바로가기

Algorithm/C프로그래밍

[1주차] 2. 포인터(2)

반응형

#9.2 포인터 선언과 사용

포인터 (변수) 선언 구문

변수명 앞에 *(참조연산자) 붙임

포인터 대입(연결)

  • 포인터 (변수)에 주소를 대입해서 특정 변수와 연결시키는 것을 "가리킨다"라고 표현(->)

포인터 참조

  • 포인터 (변수)가 가리키는 변수에 접근하는 것
  • 참조 연산자 * 사용
  • 간접 접근: *pch = 'B'
  • 직접 접근: ch = 'B'

포인터 주의사항

  1. 선언 후 연결 없이 바로 사용하면 런타임 오류(연결 안 하면 쓰레기값 들어있음)
    • 반드시 어떤 변수에 연결한 후 사용해야 함
  2. &(주소연산자)는 포인터를 포함한 모든 변수에 사용가능하지만, *(참조연산자)는 포인터 변수에서만 가능!
  3. 포인터 자료형과 연결된 변수의 자료형은 일치해야 한다.
    • 서로 다른 자료형의 포인터 간 대입은 문법적으로 허용되기도 하지만 프로그램 오류의 원인이 된다.

널(NULL) 포인터

  • 물리적으로 주소 값 0을 나타내는 특별한 기호
  • 아무것도 가리키지 않음을 의미
  • NULL의 값은 0이므로, 조건문에서 사용하면 거짓에 해당
  • 예기치 못한 오류 방지를 위해 포인터 변수를 NULL로 초기화 -> 디버깅하기 편함
int *pnum = NULL;

 

포인터의 크기

  • 포인터의 종류(자료형)에 관계없이 주소를 저장하기 위해 필요한 공간(바이트 수)은 동일
반응형