-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
함수포인터 질문드립니다
21.04.15 00:24 작성 조회수 121
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을 주소값이 아닌 그냥 함수자체로 넘기는데
왜 두개가 다른 방식으로 넘기는지 궁금합니다
답변을 작성해보세요.
1
안소
2021.04.18
안녕하세요 : )
함수의 주소를 넘길 때 함수 이름에 & 붙이던 안붙이던 상관없습니다!
따배C 에서 함수 포인터 배우셨겠지만 함수 이름 그 자체가 함수의 주소입니다.
그래서 print_an_item 자체도 print_an_item 함수의 주소이고, &print_an_item 도 마찬가지입니다.
즉, print_an_item, &print_an_item 둘 다 값이 동일합니다.
결과가 동일한 것을 확인할 수 있습니다.
답변 1