Вам придется самостоятельно отслеживать совокупный размер вашей структуры.
Инфраструктура C не знает, какая память выделена для каких указателей.Даже создание строгой обобщенной концепции «владения» памятью указателем чрезвычайно сложно.
Чтобы проиллюстрировать, осознайте, что элементы вашей структуры могут содержать другие указатели, которые ссылаются на другую память.Некоторые из этих ссылок могут быть в циклах (циклически связанный список, неориентированные графы).
В этом случае подсчет памяти может стать невероятно трудным.Если два разных элемента указывают на одну и ту же память, следует ли считать ее дважды или один раз?Какая система будет отслеживать, какая память считается или не учитывается?Как эта система вписалась бы в минималистскую парадигму C?
Чтобы сделать то, что вы просите, я думаю, вам нужен язык с отражением / самоанализом, такой как Java или .Net (C #).