우선 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각각 어떻게 출력하라는지 모르겠습니다.
안녕하세요.
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)
예 .. 리턴값은 없지만 포인터를 사용하므로 메모리의 값을 직접 변경하는 결과를 갖게 됩니다.
즉 함수 리턴을 하지 않더라도 포인터를 이용하여 메모리를 공유할 경우 값이 리턴되는 결과를 갖게 됩니다.
오늘도 즐거운 하루 되세요.