Implementiere deine eigene sizeof [duplicate]

Mögliche Duplikate:
Größe eines Datentyps ohne sizeof

Einer meiner Freunde ist kürzlich im NVIDIA-Interview erschienen, wo er darum gebeten wurdeimplement his own sizeof in C. Ich habe versucht, dasselbe für die Praxis zu tun und zwei verschiedene Definitionen von erfolgreich zu schreibensizeof Eine davon kann mit Variablen umgehen, die andere mit Datentypen, aber ich kann die beiden nicht zusammenführen. Gibt es eine Möglichkeit dazu? Auch ist es möglich, eine komplette zu implementierensizeof in C.

Behandeln Sie Typen wieint, char usw

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

Behandelt Variablen wiex

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage