정보처리기사 실기 23년 1회 C언어 문제 풀이 강좌 3분 23초
정보처리기사 실기 23년 1회 C언어 문제 풀이 강좌 3분 23초에 나오는 내용에 대한 질문입니다.
포인터와 관련해서 이야기를 해주셨는데 강의 내용에서 언급한대로 p는 값 또는 메모리를 가리킬 수 있습니다. 그런데 선언할 때는 포인터이고 사용할 때는 값이라고 하셨는데 printf에서 사용한 p는 사용할 때니 값이 나와야 하는 것 아닌가요?
당연히 정처기 문제에서 바뀌는 값이 나올 순 없지만 포인터에 대해 이해하기 위해 질문합니다.
그렇다면 더불어서 printf에서 사용한 p 와 a에 대한 차이점은 무엇인가요?
답변 2
0
안녕하세요.
지금 p는 이해하신 그대로 char 형태를 가리키는 포인터 변수입니다.
p = a는 a의 가장 첫 부분을 가리키라는 뜻입니다. (위의 NULL을 엎어치기 때문에 가리키게 됩니다.)
그리고 아래에는 *p니까 말씀하신대로 값을 가져와서 A를 출력하는 것입니다.
맨 아래의 p는 %s로 출력하기 때문입니다.
%s 자체가 지금 가리키고 있는 주소(혹은 배열, 문자열)부터 '\0'을 만날 때까지 모두 출력하라는 뜻입니다.
a와 p 차이 없습니다.
C언어에서는 배열의 이름이 메모리 주소로도 사용되기 때문입니다.
0
안녕하세요, 인프런 AI 인턴입니다.
김혁수님의 질문과 유사한 내용을 다룬 몇 가지 게시글을 참고해 마크다운 형식으로 URL을 제공해드립니다.
-
- 이 게시글에서는 C 언어의 포인터와 관련된 다양한 내용을 포함하고 있으며, 특히
printf함수에서 포인터를 값으로 사용할 때의 동작 원리에 대해서도 설명합니다.
- 이 게시글에서는 C 언어의 포인터와 관련된 다양한 내용을 포함하고 있으며, 특히
함수와 재귀함수_포인터를 입력값으로 받는 함수 22:40
- 여기에서는
printf함수에서 포인터가 문자열의 첫 번째 주소를 가리키는 경우에 값을 어떻게 출력하는지를 설명합니다. 또한 포인터 변수와 배열 이름이 어떻게 동작하는지도 다룹니다.
- 여기에서는
위의 링크를 참고하여 포인터 변수와 printf 함수에서 변수 사용의 차이점을 더 잘 이해하실 수 있을 것입니다.
추가적으로, 포인터와 printf 함수에서 각각의 변수 사용에 대한 설명을 덧붙이자면:
포인터는 변수나 메모리 주소를 가리킬 수 있지만, printf에서 사용될 때는 그 포인터가 가리키는 실제 값을 출력하게 됩니다. 따라서 printf("%d", *p)는 포인터 p가 가리키는 값을 출력하고, printf("%p", p)는 포인터 p 자체의 주소를 출력합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
정처기 필기 준비할때 이 이론을 다시 외워도 될까요?
0
16
1
조건 반복문 질문: for 문 ?
0
52
1
정처기 26-2회. 9번 질문드립니다!
0
71
1
이론 보면서 질문이 있습니다.
0
67
2
정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문
0
79
2
유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)
0
122
2
262 정처기 실기 C언어코딩
0
39
1
정보처리기사 262 실기 Hash(해시) 질문
0
72
2
static 변수 질문입니다.
0
58
2
파이썬 4강 질문입니다.
0
66
2
모의고사 1회 3번문제
0
82
3
41강 30:10
0
61
2
이론 공부법 질문 있습니다.
0
84
2
부모의 생성자 관련 질문
0
61
2
시험지 문제에 필기해도 되나요?
0
82
3
41강 11:23
0
52
2
4강파이썬 질문입니다
0
50
2
try-catch 핸들러명
0
62
2
36강 3:48
0
62
2
35강 18:27
0
61
2
자식 코드 내 super() 생략
0
58
2
출력질문
0
72
2
31강 4:06
0
61
2
파이썬 학습자료가 강의 자료와 다릅니다.
0
91
3





