C · 포인터·연습 문제

포인터로 값 변경

문제 설명PROBLEM

포인터로 값 변경

문제

지역 변수의 주소를 포인터로 가리킨 뒤 역참조하여 delta를 더하세요.

구현할 함수

int add_through_pointer(int initial, int delta)

입력

정수 initial과 delta가 주어집니다.

입력 파싱과 결과 출력은 숨겨진 I/O 어댑터가 자동으로 처리합니다. 에디터에는 요구된 함수 또는 메서드 구현만 작성하세요.

출력

포인터를 통해 변경한 값을 출력합니다.

구현 조건

  • 계산 로직은 반드시 add_through_pointer 함수 안에 구현하세요.
  • 지역 변수의 주소를 int 포인터에 저장하고 * 연산자로 값을 변경하세요.

공개 테스트

아래 테스트를 각각 독립된 프로세스로 실행합니다. 입력과 기대 출력은 실제 채점 순서와 같습니다.

#이름InputExpected output
1양수 덧셈10 2030
2음수 시작-5 2-3
3음수 delta0 -7-7
개념 노트와 실수 포인트

포인터

  • &x = x의 주소, *p = p가 가리키는 .
  • *p = 10 은 가리키는 원본을 바꿈 → call by reference(주소를 넘기면 함수가 원본 수정).
  • 포인터 산술: p+1 은 다음 원소(자료형 크기만큼 이동). *(p+2) == p[2].
  • 이중 포인터 **pp: 포인터를 가리키는 포인터.
  • ⚠️ p++ 는 포인터가 다음 칸을 가리키게 함(값 증가 아님).