Xref: news2.mv.net comp.os.msdos.djgpp:8594 From: Erik Max Francis Newsgroups: comp.os.msdos.djgpp Subject: Re: function pointers Date: Thu, 12 Sep 1996 08:06:15 -0700 Organization: Alcyone Systems Lines: 34 Message-ID: <323826E7.21719469@alcyone.com> References: <517hq2$hqp AT news DOT ghgcorp DOT com> NNTP-Posting-Host: newton.alcyone.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Jeff wrote: > I know there is a way to do this in DJGPP 2.0, can somebody just tell me > how? This will work in any ANSI C compiler: /* funcptr is a function pointer which takes two ints and has no return */ typedef void (*funcptr)(int, int); /* Here's a prototype for a real function which will assign to our function pointer */ extern void sampleFunction(int x, int y); /* Declare a function pointer */ funcptr fp; /* Assign it -- any reference to a function name without the call operator () decays to a function pointer of that type */ fp = sampleFunction; /* Now call it */ fp(12, 13); /* Note that the following is also exactly equivalent to the above; dereferencing function pointers is ignored, but is sometimes useful if you want to emphasize that it's a function pointer you're using */ (*fp)(12, 13); -- Erik Max Francis, &tSftDotIotE http://www.alcyone.com/max/ max AT alcyone DOT com San Jose, California ICBM 37 20 07 N 121 53 38 W R^4: the 4th R is respect "Out from his breast/his soul went to seek/the doom of the just." -- _Beowulf_