강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

it09kim のプロフィール画像
it09kim

投稿した質問数

ホン・ジョンモのついていきながら学ぶC言語(付録)

17.7 インターフェイスの適用例

함수포인터 질문드립니다

解決済みの質問

作成

·

217

0

안녕하세요

main.c 함수에서

void write_file(const List * const plist) 내에 있는

unsigned int count = WriteAllItems(plist, file, &write_an_item);

에서는 &write_an_item을 주소값으로 넘기고

void print_all(const List* plist) 내에 있는

PrintAllItems(plist, print_an_item); 함수에서는

print_an_item을 주소값이 아닌 그냥 함수자체로 넘기는데

왜 두개가 다른 방식으로 넘기는지 궁금합니다

c

回答 1

1

안녕하세요 : )

함수의 주소를 넘길 때 함수 이름에 & 붙이던 안붙이던 상관없습니다!

따배C 에서 함수 포인터 배우셨겠지만 함수 이름 그 자체가 함수의 주소입니다.

그래서 print_an_item 자체도 print_an_item 함수의 주소이고, &print_an_item 도 마찬가지입니다.

즉,  print_an_item, &print_an_item 둘 다 값이 동일합니다.

결과가 동일한 것을 확인할 수 있습니다. 

it09kim님의 프로필 이미지
it09kim
質問者

감사합니다^^

it09kim のプロフィール画像
it09kim

投稿した質問数

質問する