← C 암기북

C · 🔥 반드시

포인터 연산과 이동

포인터 연산과 이동

시험 한 줄 · 30초 암기p + k는 같은 배열에서 k개의 원소만큼 이동한 위치입니다.

쉽게 이해하기

정수 배열의 시작을 가리키는 p에 2를 더하면 두 번째가 아니라 인덱스 2인 세 번째 원소를 가리킵니다. p++를 별도 문장으로 실행하면 다음 원소로 이동합니다. 마지막 다음 주소는 만들 수 있지만 값을 읽을 수는 없습니다.

눈으로 따라가기

설명용 가상 주소입니다. 실제 주소와 int 크기는 환경마다 다릅니다.

변수 · 주소 · 저장된 값
이름주소 (가상)저장된 값
x10007
p20001000 (x의 주소)
p에 저장된 1000→x의 위치 → *p는 7

&x는 주소, *p는 그 주소의 값입니다. *p=9이면 x의 값이 9로 바뀝니다.

p=a; p+=2; *p → a[2]

#include <stdio.h>

int main(void) {
  int a[]={3, 8, 2, 6};
  int *p=a;
  p+=1;
  printf("%d",*p);
  return 0;
}

시험 함정

같은 배열 범위를 벗어난 포인터 연산이나 역참조는 허용되는 출력 문제로 취급하지 않습니다.

비슷한 개념의 핵심과 함정을 이 페이지에서 비교합니다.

즉시 문제 · 5개

정답을 제출하면 해설과 관련 개념을 확인합니다. 틀린 문제는 자동으로 오답노트에 저장됩니다.

즉시 3문제관련 문제 전체

검증 근거

기술 문서/실행 검증 · 마지막 검증 2026-09-27 · 핵심 코드 추적 유형 · 공식 출제 횟수 집계 없음