Path: utzoo!utgpu!water!watmath!clyde!bellcore!decvax!decwrl!purdue!mailrus!uflorida!novavax!proxftl!bill From: bill@proxftl.UUCP (T. William Wells) Newsgroups: comp.std.c Subject: Re: Pointer to void (was: function returning pointer to itself) Message-ID: <531@proxftl.UUCP> Date: 24 Jul 88 15:51:11 GMT References: <5485@batcomputer.tn.cornell.edu> <1066@agora.UUCP> Reply-To: bill@proxftl.UUCP (T. William Wells) Organization: Proximity Technology, Ft. Lauderdale Lines: 18 Summary: Expires: Sender: Followup-To: Distribution: Keywords: In article <1066@agora.UUCP> rickc@agora.UUCP (Rick Coates) writes: : Can someone elaborate on why ANSI does not allow void pointers for : functions? The basic reason is that data pointers and function pointers can have very different sizes. I have heard claims for function pointers with 7x and 9x data pointer sizes. (Anybody want to say which machines?) And, of course, there is the IBM-PC, where certain programming models may use far function pointers and near data pointers (or v.v.), a difference of 2x. Given this, it is desirable to have generic function and data pointers not be commensurable in order to save memory for the shorter data type. Of course, this can be taken to the extreme where there are no generic pointer types. For one who needs a data structure which can hold both types of pointers, use a union.