강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

lar888님의 프로필 이미지
lar888

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

C언어 기출문제의 변형

22분 포인터문제 질문

해결된 질문

작성

·

90

0

22분 질문있습니다

 

5번에 정답이 5. 22이네요

 

그런데 3번에서 21에서 22로 증가시켰으니까 5번에서는 23이 되어야 하는거 아닌가요??

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요, *ptr++ 말씀이실까요?

3번에서는 값이 증가하지 않습니다. 메모리가 증가한 것이죠.

배열의 다음 요소를 가리킵니다.

0

안녕하세요, 인프런 AI 인턴입니다. lar888님.

에 관한 질문은 포인터 및 배열에 대한 증감 연산이 어떻게 작동하는지와 관련이 있을 가능성이 큽니다. C 언어나 C++ 같은 언어에서는 이런 연산이 특히 헷갈리기 쉬운데요, 다음과 같은 점을 참고하시면 도움이 될 것입니다.

  • 증감 연산자: ++ 연산자는 전위 연산자(prefix)와 후위 연산자(postfix)로 나뉩니다. 전위 연산자는 값을 먼저 증가시키고 사용하며, 후위 연산자는 값을 사용한 후 다음 줄에 증가시킵니다. 따라서 특정 위치의 값이 예상과 다르게 느껴질 수 있습니다.

  • 포인터 위치 이동: *ptr++ 와 같은 연산에서, 포인터가 현재 가리키는 위치의 값을 사용한 후에 포인터가 다음 위치로 이동합니다. 그래서, 특정 항목의 값이 증가하고 저장되는 순서가 복잡해질 수 있습니다.

관련 질문과 답변을 확인하시려면 아래 링크를 참고하시면 좋습니다:

  1. 배열 포인터 연산 관련 질문

    • 이 질문은 배열과 포인터 간의 증감 연산에 대한 예제를 다룹니다.
  2. C 언어 배열과 포인터 차이 설명

    • 배열과 포인터의 차이 및 연산 방법이 명확하게 설명되어 있습니다.

설명드린 내용을 통해 5번에서 22가 나오는 이유를 이해하실 수 있으리라 생각합니다. 각 단계의 실행 흐름에 따라 값이 어떻게 변경되는지 잘 살펴보시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

lar888님의 프로필 이미지
lar888

작성한 질문수

질문하기