Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!apple!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!mcsun!ukc!axion!vision!ukpoit!alan From: alan@ukpoit.co.uk (Alan Barclay) Newsgroups: comp.lang.c Subject: Re: One more point regarding = and == (more flamage) Message-ID: <1991Apr5.141502.13618@ukpoit.co.uk> Date: 5 Apr 91 14:15:02 GMT References: <1991Mar27.022120.29773@athena.mit.edu> <91087.152922KKEYTE@ESOC.BITNET> Organization: iT - The Information Technology Business Of The Post Office Lines: 21 In article <91087.152922KKEYTE@ESOC.BITNET> KKEYTE@ESOC.BITNET (Karl Keyte) writes: > > float (*(*(****(*(*myfunc())())"5")())())() > >is quite legal when one wants to declare a function 'myfunc' as one returning >a pointer to function returning a pointer to an array of 5 pointers to a >pointer to a pointer to a pointer to a function returning a pointer to a >function returning a pointer to a function returning float > no it isn't, presuming that the "5" is a typo for [5], then your declaration is float (*(*(****(*(*myfunc())())[5])())())(), which according to dcl, as found in K&R2 is myfunc: function returning pointer to function returning pointer to array[5] of pointer to pointer to pointer to pointer to function returning pointer to function returning pointer to function returning float I.E, where you have three "pointer to", in sucession you should have four.