Если у меня есть структура целых чисел, нужно ли мне отдельно освобождать все целые (они не являются указателями) или они будут освобождены, когда я вызову free () для структуры?
Нет, они будут освобождены после освобождения всей структуры.
(Обратите внимание, что вам нужно только free структура, которая была выделена с malloc / calloc / realloc, а не та, которая была выделена в стеке.)
free
malloc
calloc
realloc
malloc и free go в парах. Если вы не выделяли для нее динамически память, не освобождайте ее.