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))