C언어 ⑧

정혜지·2023년 4월 14일
0
post-thumbnail

포인터

특정 데이터가 저장된 메모리의 주소를 저장하는 변수
식별자가 아닌 주소값으로 특정 데이터에 접근할 수 있다.
원본 데이터를 가공할 수 있다.

어떠한 위치에서 시행되더라도 특정한 주소를 그대로 이용하기 때문에 값이 즉시 변경된다.


포인터 활용 연산자

  • & (Ampersand) : 해당 식별자의 주소값 도출
  • * (Asterisk) : 해당 위치로 접근




포인터 변수의 형태



두 변수의 값을 서로 변환

#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;
}


profile
오히려 좋아

0개의 댓글