스펜서 개발블로그

[C언어] #3. 포인터와 포인터 연산자 본문

C

[C언어] #3. 포인터와 포인터 연산자

스펜서 2022. 7. 21. 11:56

주소 값

주소값은 데이터가 저장된 저장 공간(메모리)의 시작 주소를 의미한다.

그리고 시작 주소부터 해당 자료형의 크기만큼 저장 공간을 차지한다.

 

포인터 (pointer), 포인터 변수 (pointer variables)

C언어의 포인터는 메모리의 주소 값을 저장하는 변수이다.

기존에 선언된 변수의 주소 값을 저장하는 것이며, 연산자를 사용하여 주소를 가져오거나 값을 참조하여 사용할 수 있다.

단, 저장 주소는 사용하는 컴퓨터마다 다르고, 코드를 실행할 때마다 달라진다.

(pc의 비트 수에 따라 자리 수도 달라진다.)

int num = 15;		// 변수 선언 및 초기화(값을 넣어줌)
int *pnum = #	// 포인터 선언 및 초기화

 printf("%d\n", num);	// 출력 결과는 15;
 printf("%d\p", num);	// 출력 괄과는 0x7ffd655dfffc;

 

이렇게 지정된 변수의 주소 값을 가진 포인터의 경우, 배열과 같이 연속된 데이터에 접근과 수정이 쉽고 처리 속도가 더 빠르기 때문에 사용된다.

이를 통해 전역 변수 사용의 빈도가 줄어들고 처리 속도가 빠르며 메모리 사용에 효율성을 가져온다.

 

 

포인터에 쓰이는 연산자

주소 연산자(&)

변수의 이름 앞에 사용되며 해당 연산자를 붙이면 해당 변수의 값이 아닌 주소 값이 반환된다.

영어로는 ampersand(앰퍼샌드)라고 읽는다.

 

참조 연산자(*)

포인터의 이름 앞에 사용하며 해당 연산자가 붙으면 포인터가 가르키는 변수의 저장 주소를 반환한다.

 

'C' 카테고리의 다른 글

[c언어] #1 변수와 자료형, 상수  (0) 2022.07.19
Comments