Zaimplementuj swój własny rozmiar [duplikat]

Możliwy duplikat:
rozmiar typu danych bez użycia sizeof

Jeden z moich przyjaciół niedawno pojawił się w wywiadzie dla NVIDII, gdzie został poproszonyimplement his own sizeof in C. Próbowałem zrobić to samo dla praktyki i z powodzeniem napisać dwie różne definicjesizeof jeden z nich może obsługiwać zmienne, a inny może obsługiwać typy danych, ale nie jestem w stanie scalić tych dwóch. Czy jest jakiś sposób, aby to zrobić? Czy możliwe jest wdrożenie kompletnegosizeof w C.

Rodzaje uchwytów jakint, char itp

#define my_sizeof(type) ((size_t)(((type *)0) + 1))

Obsługuje zmienne takie jakx

#define my_sizeof(var) (size_t)((char *)(&var+1)-(char*)(&var))

questionAnswers(1)

yourAnswerToTheQuestion