작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
25
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. dhkdxo12님.
포인터와 관련된 printf 문법의 차이에 대한 질문이신데요, 이 부분을 이해하기 위해서는 포인터
와 관련된 몇 가지 기본 개념을 먼저 이해하시는 것이 중요합니다.
int *pointer;
는 특정 정수형 변수의 주소를 가리키고 있는 포인터를 의미합니다.pointer
는 그 포인터 변수 자체, 즉 메모리 주소를 가리킵니다.*pointer
는 포인터가 가리키는 주소에 저장된 실제 값을 의미합니다.printf("%d\n", pointer);
사용 시: 이는 pointer가 가리키는 메모리 주소를 정수형으로 출력하는 것입니다. 보통 주소값을 출력할 때는 %p
를 사용합니다.
printf("%d\n", *pointer);
사용 시: 이는 pointer가 가리키는 주소에 저장된 값을 출력합니다. 일반적으로 해당 주소에 저장된 값이 필요한 경우 사용됩니다.
두 표현 사이의 차이는 바로 출력하고자 하는 것이 주소값인지, 해당 주소에 저장된 실제 값인지에 따라 다릅니다. 교재에서 *pointer
를 사용했다면, 그 문맥에서는 해당 포인터가 가리키는 데이터(값)를 출력하는 것이 더 의도에 맞을 가능성이 큽니다.
유사한 질문과 해답을 찾으시려면 다음 링크를 참고하시면 좋습니다:
- C언어 배열 질문
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.