강의

멘토링

로드맵

Inflearn brand logo image

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

이은비님의 프로필 이미지
이은비

작성한 질문수

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

"C언어 포인터 + 배열, 구조체"만 다뤄보자!

25:58초 질문있습니다.

해결된 질문

작성

·

60

0

마지막 줄 tbl[2]가 왜 NW가 아니라 W인가요?챗지피티도 NW라고 하는데요...

  • 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야

    어떤 강좌에서 질문하셨는지 알 수 있습니다.

  • 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.

  • 이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.

  • 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.

  • 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.

    • 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)

  • 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.

답변 2

0

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

안녕하세요, 답변하기에 앞서 ChatGPT는 특히 C언어에서 로직이 복잡해지면 오류가 급증합니다.

증감연산자를 반영하지 않는 경우도 많아서 학습할 때 주의하셔야 합니다.

답변이 굉장히 틀리는 경우가 많습니다.

 

스크린샷 2025-07-16 오후 6.31.10.png.webp

 

우선 해당 코드의 출력값은

D
W
W

이것이 맞습니다.

 

2번째 출력문에서 앞에 전위연산자가 먹혀서 그렇습니다.

*++(*pp)[2] 이 부분을 해석해야 합니다.

포인터 P 자체를 한 칸 증가시켜 'W'를 가리키게 만듭니다.

 

*pp는 배열 이름처럼 작동하고,

(*pp)[2]는 배열에서 tbl[2]를 가리킵니다. 여기서는 "NW"입니다.

++(*pp)[2]는 chat 한 단위를 증가시켜서 'W'를 가리킵니다.

그곳의 값을 가져오는 * 별표를 써서 W가 됩니다.

0

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

질문해주신 부분은 아마도 배열이나 데이터 구조에서의 데이터 할당 및 접근에 관한 문제로 보입니다. tbl[2]NW가 아니라 W가 나오는 이유는 두 가지 중 하나일 수 있습니다: 코드에서 데이터를 할당하거나 업데이트하는 과정에서 실수나 예기치 않은 변동이 있었던 경우, 또는 문제의 근원을 이해하지 못한 경우입니다.

아래에서 유사한 질문을 다뤘던 기존 게시물을 통해 좀 더 자세한 맥락을 이해하실 수 있도록 가이드를 드리겠습니다.

관련 질문 URL:

  1. 배열과 데이터 접근에서의 예기치 않은 결과

    • 이 질문에서는 배열의 인덱싱 문제와 그로 인한 데이터 읽기 오류에 대해 설명하고 있습니다.
  2. 데이터 구조에서의 값 교체 및 접근 오류

    • 데이터 구조 내에서 데이터 교체 및 인덱싱 시 발생할 수 있는 문제에 대해 다룹니다.

본문 요약:

  • 배열 또는 데이터 구조에서 특정 인덱스에 할당된 값이 예상과 다른 경우, 데이터 입력 또는 업데이트 과정에서 논리적 오류가 있을 가능성이 큽니다.
  • 코드가 의도한 대로 작동하는지를 검토하기 위해 먼저 데이터 입력 및 업데이트 과정을 빠짐없이 점검해보아야 합니다.

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

이은비님의 프로필 이미지
이은비

작성한 질문수

질문하기