Programming Language/C Programming
[C프로그래밍 Chapter9]
JackYoon
2020. 1. 30. 12:28
반응형
[포인터]
포인터는 주소 값을 지칭한다.
C언어에서 주소값을 시작번지만 표시한다. 크기를 알면 시작 번지를 통해서 끝 주소를 파악하기 때문이다.
포인터 변수
메모리의 주소 값을 저장하기 위한 변수
변수 형태 포인터, 상수 형태 포인터를 포함한다.
int num = 10;
int * ptr; 포인터 변수 ptr선언
ptr = # num의 주소 값을 ptr에 저장
#변수 선언은 * 표시, 값의 대입은 &연산자를 통해서 한다.
ptr엔 num의 시작 주소가 들어간다. 시작 주소가 4이면 끝 주소는 8이다. int 크기가 4이므로.
포인터 변수 ptr이 int형 변수 num을 가리킨다.
&연산자
오른쪽에 등장하는 피연산자의 주소 값을 반환하는 연산자.
int, char, double : 자료형
int *, double*, char* : 포인터형
[포인터 연산자]
&연산자 : 피연산자의 주소 값을 반환하는 연산자
피연산자는 변수로 하며, 상수는 될 수 없다.
*연산자 : 포인터가 가리키는 메모리 공간에 접근 할 때 사용하는 연산자
int num = 10;
int * ptr = #
*ptr += 10;
# 최종적으로 num 값이 20으로 변경된다.
num 메모리 공간에 접근해서 그 값에 +10을 하라는 의미
포인터의 형은 메모리 공간을 참조하는 기준이된다.
널 포인터
포인터 변수를 초기화 하고 싶을 경우 사용.
int * ptr = NULL;
#사실상 NULL은 공백을 표기한다.
포인터 변수를 생성하되, 아무데도 가리키지 않는다.
반응형