Pointer to void (was: function returning pointer to itself)

T. William Wells bill at proxftl.UUCP
Mon Jul 25 01:51:11 AEST 1988


In article <1066 at agora.UUCP> rickc at 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.



More information about the Comp.std.c mailing list