void functions certainly were much more widely used before void *, but void * worked on all the compilers I ever used. I'm a relative newcomer, though, since the first C compiler I used was on a VAX running 4.2BSD...WarnerOn Sun, Nov 5, 2017 at 6:20 AM, Ron Natalie <ron@ronnatalie.com> wrote:Yes. Correct me if I’m wrong, but I recall functions returning void came before void*.
Sent from my iPhone
> On Nov 5, 2017, at 5:06 AM, arnold@skeeve.com wrote:
>
> Paul Ruizendaal <pnr@planet.nl> wrote:
>
>> I’m trying to understand the origins of void pointers in C. I think
>> they first appeared formally in the C89 spec, but may have existed in
>> earlier compilers.
>
> void was added after the publication of the first edition of K&R, in
> the V7 time frame. The 4.x compilers had support for void pointers and
> functions returning void. Also added around the same time was structure
> assignment and the ability to pass and return structs by value (although
> this was little used).
>
>> In the 4BSD era there was caddr_t, which I think was used for pretty
>> much the same purposes.
>
> Only for kernel code. I am pretty sure caddr_t wasn't used in user-land code.
>
> HTH,
>
> Arnold