ホームページ > バックエンド開発 > C++ > C で独自の sizeof を実装する方法

C で独自の sizeof を実装する方法

WBOY
リリース: 2023-09-14 16:17:08
転載
681 人が閲覧しました

C で独自の sizeof を実装する方法

sizeof() を使用するには、変数 x を使用して値を取得し、&x を使用すると、そのアドレスが出力されます。ここで、&x の値を増やすと、別の方法で増加する可能性があります。 1 バイトだけ追加された場合は文字型であることを意味し、追加された値が 4 の場合は int 型または float 型であることを意味します。したがって、&x 1 と &x の差を計算することで、x のサイズを取得できます。

関数内でデータ型が定義されていないため、ここではマクロを使用します。もう 1 つ、型変換に (char*) を使用するので、その場所にどれだけの文字型データを配置できるかがわかります。文字型はデータの 1 バイトを占めるためです。

#include <stdio.h>
#define my_sizeof(type) (char *)(&type+1)-(char*)(&type)
main(void) {
   int x = 10;
   char y = &#39;f&#39;;
   double z = 254748.23;
   printf("size of x: %d</p><p>", my_sizeof(x));
   printf("size of y: %d</p><p>", my_sizeof(y));
   printf("size of z: %d</p><p>", my_sizeof(z));
}
ログイン後にコピー

出力

size of x: 4
size of y: 1
size of z: 8
ログイン後にコピー

以上がC で独自の sizeof を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート