Как вы проверяете, имеет ли указатель определенный тип?
Использование sizeof
недостаточно.
Я пытаюсь избежать ввода id-чисел в свои структуры, чтобы определить их тип. Предполагается, что, возможно, gcc помещает определение структуры где-то в этом процессе и отображает определение в выделенную память указателем. Если это так, я думаю, что было бы возможно проверить тип указателей.