책 내용 질문하기
한번에 질문하겠습니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
84
조회수
53
작성일
2017-09-27
작성자
탈퇴*원
첨부파일

우선 84p 문제4번에서 답지를 봐도 이해가 가질 않습니다. temp가 선언되고는 무엇을 나타내는지 모르겠습니다.

그밑으로 temp=*(st+k)이부분부터 이해가 되질않습니다.

86p예제3번은 void가 있으면 리턴값이 없으니 3,12를 출력하고 7,8번을 실행(*i*=3;)을 실행하여 9,4아닌가요?

3번에 &a,&b는 주소를 가르키니까 0020 FC20,FC24를 나타내고 11번은 a,b각각 어떻게 출력하라는지 모르겠습니다.

답변
2017-09-28 09:39:24

안녕하세요.

1)

*(st+k)란 st 배열의 시작 위치에서 k만큼(char 형이 1byte 크기를 가지므로 여기서는 kbyte 만큼) 증가한 위치의 *, 즉 값을 표시합니다.

81쪽의 메모리 설명처럼 초기 메모리의 시작 위치에서 +k 되는 만큼 이동한 곳의 값을 의미하는 것입니다.

2)

예 .. 리턴값은 없지만 포인터를 사용하므로 메모리의 값을 직접 변경하는 결과를 갖게 됩니다.

즉 함수 리턴을 하지 않더라도 포인터를 이용하여 메모리를 공유할 경우 값이 리턴되는 결과를 갖게 됩니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-09-28 09:39:24

    안녕하세요.

    1)

    *(st+k)란 st 배열의 시작 위치에서 k만큼(char 형이 1byte 크기를 가지므로 여기서는 kbyte 만큼) 증가한 위치의 *, 즉 값을 표시합니다.

    81쪽의 메모리 설명처럼 초기 메모리의 시작 위치에서 +k 되는 만큼 이동한 곳의 값을 의미하는 것입니다.

    2)

    예 .. 리턴값은 없지만 포인터를 사용하므로 메모리의 값을 직접 변경하는 결과를 갖게 됩니다.

    즉 함수 리턴을 하지 않더라도 포인터를 이용하여 메모리를 공유할 경우 값이 리턴되는 결과를 갖게 됩니다.

    오늘도 즐거운 하루 되세요.

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