C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[23529] Re:이런 void 사용이 있는가요?
하느리 [handebug] 661 읽음    2003-01-04 12:25

포인터계의 마왕, 함수포인터입니다. C문법책을 찾아 보세요. gtr_port_set이라는 함수포인터(이 함수포인터는 void형을 최종 리턴합니다.)에 router_val이라는 함수를 대치하여 실행하는 명령문 같습니다. (소스전체가 있어야 정상적인 해독이 가능할 듯)

아시지 싶은데, 참고삼아 말씀드리면, 함수포인터는 프로그램의 코딩라인을 줄이고, 보다 간편하게 처리하고자 사용하는데, 이를 사용할 경우, 욕 먹기 싶상입니다. 소스라인이야 줄어들지만 프로그램을 이해하는데 아주 어려워지고, 나중에 유지보수도 힘들어집니다. 자신도 이해하는데 어려워지는 경우가 다반사. -______-;

함수포인터는 하나의 변수이며 이 변수를 이용하여 함수를 실행합니다. 변수의 특징이 가변한다는 것인데 실행시에 여러 함수중, 특정 함수를 지칭하게 하여 해당 경우에 맞는 함수를 실행하기 위해 사용됩니다. 추가적으로 함수명 자체도 하나의 주소번지를 나타낸다는 것은 아시것이고요...


김민철 님이 쓰신 글 :
: : : : : : :
안녕하세요.... 여기 처음 질문을 올립니다.
:
 
:
이런 문법이 사용이 가능한지가 궁금 합니다 ...
:
 
:
#ifdef TEST_DEF_IDENTY_ON
:
 
:
void (* qtr_port_set = router_val);
:
 
:
/* 등등 ..... */
:
 
:
 
:
여기서 qtr_port_set 이란것은 변수가 아니라 어떤 함수 입니다 .
:
 
:
함수 자체의 주소가 router_val 로 넘어간다는 것은 추측할수 있는데 , 과연 앞에 void (~) 로 묶인 이유가 도데체 뭔지 : 알수가 없습니다.
:
 
:
혹시 아시는 분은 답변을 부탁 드리고 싶습니다 ..
: :
:

+ -

관련 글 리스트
23526 이런 void 사용이 있는가요? 김민철 616 2003/01/03
23529     Re:이런 void 사용이 있는가요? 하느리 661 2003/01/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.