책 내용 질문하기
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을 인수로 적어야 합니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.