함수의 선언에 대해 궁금한점이 있습니다.

100c의 이미지

C언어 공부를 하다가 궁금한 점이 생겼는데요...

함수 선언을 하면 함수의 선언은 함수의 정의 부분의 시작 주소를 가리킨다고 들었습니다.

함수 선언을 하면 어떻게 포인터 처럼 주소를 가리키게 되는지 궁금합니다..

세벌의 이미지

질문의 뜻을 모르겠습니다...
함수 선언을 하면 함수의 선언은 함수의 정의 부분의 시작 주소를 가리킨다
는 말이
어느 사이트 (또는 책 ?)에 그런 말이 있었나요?

100c의 이미지

오프라인 강의에서 들은 내용이라서 출처를 정확히 밝힐수가 없네요.ㅠ

선언을하고 되면 컴파일을 하면 메모리의 정의부 시작주소을 가리킨다고 들었습니다.

정의부를 함수 자체라고 생각하면 선언부는 그 함수의 주소를 가리키는 함수포인터의 개념인지 궁금해서 질문올렸네요..ㅠ

세벌의 이미지

오프라인 강의에서 들은 내용이라면?
강사 또는 그 강의를 함께 들었던 사람들에게 물어보시면 잘 아실 수 있을 거예요.

라스코니의 이미지

컴파일을 하고 obj가 만들어지면 함수는 물리 주소를 갖게 됩니다.
함수 포인터로 함수를 가리킬 수 있습니다.

void f(int a);

void (*func)(int);

func = f;

func() 는 f()와 같음

100c의 이미지

답변 감사드립니다. 더 공부해봐야겠네요 ...ㅠ

Anti-Lock의 이미지

초심자를 위해 이해하기 쉬우라고 설명한 내용을 '진리' 또는 '표준'으로 오해하고 물어보신것 같습니다.