AI 시스템 반도체 SW/C 언어

[C 언어] 9-2 포인터 완전 정복을 위한 포인터 이해하기

psh010208 2026. 6. 2. 14:24
  • 주소포인터는 각각 상수와 변수라는 차이가 있음
  • 포인터의 크기는 주소의 크기와 같음
  • 포인터에 주소를 저장할 때는 가리키는 자료형이 같아야 함
  • 포인터의 주요 기능 중 하나는 함수 간에 효과적으로 데이터를 공유하는 것

 

  • 간접 참조 연산자를 사용한 예(포인터 pa가 변수 a를 가리킬 때)
구분 변수 a 사용 포인터 pa 사용
대입 연산자 왼쪽 a = 10; *pa = 10;
대입 연산자 오른쪽 b = a; b = *pa;
피연산자 a + 20; *pa + 20;
출력 printf("%d", a); printf("%d", *pa);
입력 scanf("%d", &a); scanf("%d", &*pa);
scanf("%d", pa);

 

 

  • 주소와 포인터의 특징
구분 사용 예 기능
포인터 int a, b;
int *p = &a;
p = &b;
포인터는 변수이므로 그 값을 다른 주소로 바꿀 수 있음
포인터의 크기 int *p;
sizeof(p)
포인터의 크기는 컴파일러에 따라 다를 수 있으며, sizeof 연산자로 확인
포인터의 대입 규칙 int *p;
double *pd;
pd = p; (X)
포인터는 가리키는 자료형이 일치할 때만 대입