반응형
#9.2 포인터 선언과 사용
포인터 (변수) 선언 구문
변수명 앞에 *(참조연산자) 붙임
포인터 대입(연결)
- 포인터 (변수)에 주소를 대입해서 특정 변수와 연결시키는 것을 "가리킨다"라고 표현(->)
포인터 참조
- 포인터 (변수)가 가리키는 변수에 접근하는 것
- 참조 연산자 * 사용
- 간접 접근: *pch = 'B'
- 직접 접근: ch = 'B'
포인터 주의사항
- 선언 후 연결 없이 바로 사용하면 런타임 오류(연결 안 하면 쓰레기값 들어있음)
- 반드시 어떤 변수에 연결한 후 사용해야 함
- &(주소연산자)는 포인터를 포함한 모든 변수에 사용가능하지만, *(참조연산자)는 포인터 변수에서만 가능!
- 포인터 자료형과 연결된 변수의 자료형은 일치해야 한다.
- 서로 다른 자료형의 포인터 간 대입은 문법적으로 허용되기도 하지만 프로그램 오류의 원인이 된다.
널(NULL) 포인터
- 물리적으로 주소 값 0을 나타내는 특별한 기호
- 아무것도 가리키지 않음을 의미
- NULL의 값은 0이므로, 조건문에서 사용하면 거짓에 해당
- 예기치 못한 오류 방지를 위해 포인터 변수를 NULL로 초기화 -> 디버깅하기 편함
int *pnum = NULL;
포인터의 크기
- 포인터의 종류(자료형)에 관계없이 주소를 저장하기 위해 필요한 공간(바이트 수)은 동일
반응형
'Algorithm > C프로그래밍' 카테고리의 다른 글
[4주차] 문자열 (0) | 2021.09.27 |
---|---|
[2주차] 포인터(3), (4) (4) | 2021.09.13 |
[1주차] 1. Orientation + 포인터(1) (0) | 2021.08.31 |
[C언어] 2차원 배열(3): 2차원 배열을 포인터에 넣기 (2) | 2021.07.03 |
[C언어] 2차원 배열(2): 2차원 배열의 크기 구하기 (0) | 2021.07.03 |