SQLD프로그래밍 언어 활용C 포인터난이도 4MCQ

SQLD C 포인터 기출문제 #4595

문제

다음 C언어 코드의 실행 결과는?

C
#include <stdio.h> int main() { int n = 10; int *pt = &n; printf("%d", &n + 1 - &n + *pt); return 0; }

① 컴파일 에러 ② 10 ③ 11 ④ 21

정답

3

해설

정답: 3. &n + 1 - &n의 포인터 차이는 1이고 *pt는 10이므로 결과는 1 + 10 = 11이다.

오답 풀이

  • 1번: 시험 문맥에서는 같은 객체 기준 포인터 산술로 계산한다.
  • 2번: 포인터 차이 1이 누락된 결과이다.
  • 3번: 1 + 10 = 11이다.
  • 4번: 주소값 자체를 정수처럼 더한 값이 아니다.

보충 개념 포인터끼리의 뺄셈은 바이트 차이가 아니라 같은 타입 원소 개수의 차이로 계산된다.

SQLD 시험 준비 가이드

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] C 포인터 프로그래밍 언어 활용 기출 #4595 | 문어CBT