Un'altro esempio potrebbe essere un garbage collector, che tiene traccia di ogni allocazione, ma non sa, e non gli interessa, di che tipo sia. Oppure un interprete di comandi, a cui a ogni comando è associato un puntatore a funzione, il cui argomento è di tipo variabile a seconda del comando.
Oppure una funzione di lettura dati generica, tipo fread; o funzioni di gestione della memoria (memset, memmove, memcpy, memcmp), che operano su qualsiasi tipo di dato.
Insomma senza puntatori void, sarebbe più complicato e meno flessibile programmare![]()