Есть ли способ получить размер структуры из указателя типа структуры (STP) без предварительного объявления структуры с помощью STP?
На этот похожий вопрос не было рабочего ответа на мой вопрос: разыменование указателя на неполный тип - typedef struct
#include <stdlib.h>
#include <stdio.h>
typedef struct S * STP;
struct S {
uint64_t a;
uint64_t b;
};
int main() {
STP A = (STP)malloc(sizeof(STP)); // allocates poiner size
printf("Size STP: %lu\n", sizeof(STP));
STP B;
B = (STP)malloc(sizeof(*B)); // allocates expected struct size
printf("Size B: %lu\n", sizeof(*B));
free(A);
free(B);
}