Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!ulysses!allegra!princeton!udel!gatech!purdue!umd5!brl-adm!brl-smoke!gwyn From: gwyn@brl-smoke.UUCP Newsgroups: comp.lang.c Subject: Re: procedure pointer question Keywords: C function pointer Message-ID: <7110@brl-smoke.ARPA> Date: 16 Jan 88 08:51:20 GMT References: <861@xn.LL.MIT.EDU> <7108@brl-smoke.ARPA> <4002@june.cs.washington.edu> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 19 Posted: Sat Jan 16 03:51:20 1988 In article <4002@june.cs.washington.edu> pardo@uw-june.UUCP (David Keppel) writes: >[ (***sin)(x) <=> (**sin)(x) <=> (*sin)(x) <=> (&sin)(x) <=> sin(x) ] >Bleah! This part I understand! >How do I tell the difference between a pointer to a function, >a pointer to a pointer to a function, etc.? But this part I don't -- the above strange property has almost nothing to do with types. You still have to declare the types of pointers-to- functions properly. >Is this some strange "feature" of the C compiler, is the type of pointer >to function actually "pointer to (pointer to (pointer to (...", or is >there a _reason_ for this? I explained the reasons when I gave the example. They have to do with the rules for evaluating expressions.