책 내용 질문하기
1권 문제 1
도서
2021 시나공 정보처리산업기사 실기
페이지
86
조회수
241
작성일
2021-10-10
작성자
탈퇴*원
첨부파일
문제 1
str = "KOREA" 가 아니라 *str = "KOREA" 가 되어야 str에 기억된 주소에 "KOREA"가 저장되는 것 아닌가요?
그리고 해설대로 str에 "KOREA"가 기억되는 것이 아니라 "KOREA" 라는 문자열이 메모리의 어딘가에 저장된 후 그 저장된 곳의 주소가 str에 기억된다. 라면
출력할 때 str이 아니라 *str을 해야 KOR이 출력되는 것 아닌가요?
답변
2021-10-11 13:44:33
안녕하세요 길벗수험서 운영팀입니다.
str은 처음 선언 시 포인터 변수로 선언되었기 때문에 두 번째 줄에서는 *을 넣을 필요가 없습니다.
한 줄로 적는다면
char *str = "KOREA"; 로 쓸 수는 있습니다.
%s 문자열을 출력하는 서식 문자열로, '값'을 받는 것이 아닌 '주소'를 인수로 받아 해당 위치에 저장된 문자부터 마지막 문자까지의 모든 문자열을 출력합니다.
때문에 *str이 아닌 주소가 저장된 str을 인수로 적어야 합니다.
행복한 하루되세요 :)
-
관리자2021-10-11 13:44:33
안녕하세요 길벗수험서 운영팀입니다.
str은 처음 선언 시 포인터 변수로 선언되었기 때문에 두 번째 줄에서는 *을 넣을 필요가 없습니다.
한 줄로 적는다면
char *str = "KOREA"; 로 쓸 수는 있습니다.
%s 문자열을 출력하는 서식 문자열로, '값'을 받는 것이 아닌 '주소'를 인수로 받아 해당 위치에 저장된 문자부터 마지막 문자까지의 모든 문자열을 출력합니다.
때문에 *str이 아닌 주소가 저장된 str을 인수로 적어야 합니다.
행복한 하루되세요 :)