Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site umcp-cs.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!umcp-cs!chris
From: chris@umcp-cs.UUCP (Chris Torek)
Newsgroups: net.lang.c
Subject: Re: declaring routines which return function pointers
Message-ID: <1998@umcp-cs.UUCP>
Date: Wed, 19-Dec-84 13:10:55 EST
Article-I.D.: umcp-cs.1998
Posted: Wed Dec 19 13:10:55 1984
Date-Received: Thu, 20-Dec-84 05:26:08 EST
References: <249@alberta.UUCP> <14240@mgweed.UUCP>
Distribution: net
Organization: U of Maryland, Computer Science Dept., College Park, MD
Lines: 21

Maybe someone should re-post the ``cdecl'' program:

  % cdecl
  declare f as pointer to function returning pointer to function returning int
  int (*(*f)())()
  declare x as pointer to pointer to function returning pointer to function returning pointer to pointer to pointer to function returning pointer to function returning pointer to char
  char *(*(***(*(**x)())())())()
  %

It even works the opposite direction:

  % cdecl
  explain char (**(*f())())()
  declare f as function returning pointer to function returning pointer to pointer to function returning char
  %
-- 
(This line accidently left nonblank.)

In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (301) 454-7690
UUCP:	{seismo,allegra,brl-bmd}!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@maryland