C libre et struct

Ma question est sur C gratuit() la fonction de désallocation des blocs de mémoire précédemment allouée avec malloc().
Si j'ai un struct type de données composé de plusieurs pointeurs, chacun d'eux pointant vers différents emplacements de mémoire, ce qui allait arriver à ces emplacements de mémoire si je demande à free() sur la structure? va que les emplacements d'être libre aussi? ou tout simplement le bloc de mémoire qui allouent le pointeur?

source d'informationauteur Leandro Galluppi