Void pointers are used because of their capability to store any pointer, which is pointing to a wide variety of data. It is used to implement heterogeneous linked lists in many programming languages.