84페이지, 4번 풀이 중
temp = *(st+k)에서 st의 값을 뭐라고 봐야할지 모르겠습니다.
그리고 101페이지 문제 4번에서
static void prnt에서 void는 리턴 값이 없다는 뜻으로 아는데,
85페이지 C언어 함수 예제의 void와 같은 의미가 맞는지 궁금합니다.
앞에서는 사용자 함수값을 메인함수에 대입하지 않았는데(=리턴 값이 없음),
101페이지 문제에서는 종속함수(?) 값을 메인함수에서 불러와 출력하는데 정확히 이해하고 싶어요.
안녕하세요.
1)
st는 "I am Tom!"이 저장되어 있는 문자열 자료형입니다.
문자열 자료형은 배열과 같이 각 문자가 나뉘어서 저장되며
st[0] ~ st[8]까지 9개의 요소로 구분해서 처리할 수 있습니다.
또한 st라고만 하면 "I am Tom!"이 저장된 곳의 시작 위치를 의미합니다.
그러므로 *(st+k)는 st즉 "I am Tom!"이 저장된 곳에서 k만큼 증가한 곳의 *(값)이 됩니다.
결국 k가 0~8까지 증가하면 st에 저장된 글자 각각을 추출하게 되빈다.
2)
void는 반환값이 없는 것이 맞습니다.
여기서는 IntClass 자료형을 이용해 IntClass 자료형으로 선언한 myVar 변수를 전달하면서 IntClass 자료형을 공유함으로써 값을 전달하거나 반환받지 않았지만 C언어에서 포인터(*) 자료형을 사용한 것처럼 주소가 공유되어 값이 전달되어 다시 반환된 것처럼 적용된 것입니다.
오늘도 즐거운 하루 되세요.
-
*2017-04-10 14:27:43
안녕하세요.
1)
st는 "I am Tom!"이 저장되어 있는 문자열 자료형입니다.
문자열 자료형은 배열과 같이 각 문자가 나뉘어서 저장되며
st[0] ~ st[8]까지 9개의 요소로 구분해서 처리할 수 있습니다.
또한 st라고만 하면 "I am Tom!"이 저장된 곳의 시작 위치를 의미합니다.
그러므로 *(st+k)는 st즉 "I am Tom!"이 저장된 곳에서 k만큼 증가한 곳의 *(값)이 됩니다.
결국 k가 0~8까지 증가하면 st에 저장된 글자 각각을 추출하게 되빈다.
2)
void는 반환값이 없는 것이 맞습니다.
여기서는 IntClass 자료형을 이용해 IntClass 자료형으로 선언한 myVar 변수를 전달하면서 IntClass 자료형을 공유함으로써 값을 전달하거나 반환받지 않았지만 C언어에서 포인터(*) 자료형을 사용한 것처럼 주소가 공유되어 값이 전달되어 다시 반환된 것처럼 적용된 것입니다.
오늘도 즐거운 하루 되세요.