강의

멘토링

로드맵

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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

포인터의 개념과 활용 (1. 메모리 주소에 접근하자)

코딩 언어와 교재 간 불일치

해결된 질문

작성

·

25

0

포인터의 개념과 활용 (1.메모리 주소에 접근하자) 챕터에서 10:21

 

챕터 화면에는 printf("%d\n", pointer);

교재에는 printf("%d\n", *pointer);

 

서로 달라서 뭐가 맞는건지 모르겠습니다.

답변 2

0

해결됐습니다. 이해했습니다.

0

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

포인터와 관련된 printf 문법의 차이에 대한 질문이신데요, 이 부분을 이해하기 위해서는 포인터와 관련된 몇 가지 기본 개념을 먼저 이해하시는 것이 중요합니다.

기본 개념:

  1. 포인터 선언과 사용:
    • int *pointer;는 특정 정수형 변수의 주소를 가리키고 있는 포인터를 의미합니다.
    • pointer는 그 포인터 변수 자체, 즉 메모리 주소를 가리킵니다.
    • *pointer는 포인터가 가리키는 주소에 저장된 실제 값을 의미합니다.

질문에 대한 답변:

  • printf("%d\n", pointer); 사용 시: 이는 pointer가 가리키는 메모리 주소를 정수형으로 출력하는 것입니다. 보통 주소값을 출력할 때는 %p를 사용합니다.

  • printf("%d\n", *pointer); 사용 시: 이는 pointer가 가리키는 주소에 저장된 값을 출력합니다. 일반적으로 해당 주소에 저장된 값이 필요한 경우 사용됩니다.

추천 사항:

두 표현 사이의 차이는 바로 출력하고자 하는 것이 주소값인지, 해당 주소에 저장된 실제 값인지에 따라 다릅니다. 교재에서 *pointer를 사용했다면, 그 문맥에서는 해당 포인터가 가리키는 데이터(값)를 출력하는 것이 더 의도에 맞을 가능성이 큽니다.

유사한 질문과 해답을 찾으시려면 다음 링크를 참고하시면 좋습니다:
- C언어 배열 질문

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기