重複の可能性:
sizeofを使用しないデータ型のサイズ
私の友人の1人が最近NVIDIAのインタビューに出演し、そこで彼に頼まれましたimplement his own sizeof in C
。私は練習のために同じことを試み、sizeof
一方が変数を処理でき、もう一方がデータ型を処理できる2つの異なる定義を正常に記述しましたが、2つをマージできません。そうする方法はありますか?sizeof
また、 Cで完全を実装することは可能ですか。
など int
のタイプを処理しますchar
#define my_sizeof(type) ((size_t)(((type *)0) + 1))
次のような変数を処理しますx
#define my_sizeof(var) (size_t)((char *)(&var+1)-(char*)(&var))