특정 데이터가 저장된 메모리의 주소를 저장하는 변수
식별자가 아닌 주소값으로 특정 데이터에 접근할 수 있다.
⭐원본 데이터를 가공할 수 있다.어떠한 위치에서 시행되더라도 특정한 주소를 그대로 이용하기 때문에 값이 즉시 변경된다.
두 변수의 값을 서로 변환
#include <stdio.h>
// 두 변수의 값을 서로 변환하는 포인터 함수
void swap(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
// main 함수
int main()
{
int x = 1;
int y = 2;
swap(&x, &y);
printf("x = %d\n y = %d\n", x, y);
return 0;
}
포인터 변수의 값을 변경해보기
#include <stdio.h>
int main()
{
int i = 10;
int *p;
p = &i;
printf("i = %d\n", i); // i = 10
*p = 20;
printf("i = %d\n", i); // i = 20
return 0;
}