Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mit-eddie.UUCP Path: utzoo!linus!security!genrad!mit-eddie!mp From: mp@mit-eddie.UUCP (Mark Plotnick) Newsgroups: net.lang.c Subject: Re: recursive typedef in c Message-ID: <1093@mit-eddie.UUCP> Date: Sun, 25-Dec-83 17:56:34 EST Article-I.D.: mit-eddi.1093 Posted: Sun Dec 25 17:56:34 1983 Date-Received: Mon, 26-Dec-83 04:10:34 EST References: <319@aecom.UUCP> <5566@mcvax.UUCP> Organization: MIT, Cambridge, MA Lines: 29 One of my favorite examples of C programming came from a compiler course I took (AM295). The staff supplied some skeleton C programs that we had to modify, including one that contained: #define EXPRPTR struct exprnode * typedef struct exprnode { /*operator result*/ OPCLASS op; EXPRPTR opleft; EXPRPTR opright; /*subprogram call*/ char *spname; EXPRPTR spargs; #undef EXPRPTR } *EXPRPTR; Groan. My all-time favorite is the following statement-and-comment, taken verbatim from the PWB/Unix pexec() library routine: argv[argc] = 2; /* don't ask why */ I still don't know what it did. Perhaps those of you who participated in the argc[argv] discussion can help. Mark