Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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 = 'f';
   double z = 254748.23;
   printf("size of x: %d\n", my_sizeof(x));
   printf("size of y: %d\n", my_sizeof(y));
   printf("size of z: %d\n", my_sizeof(z));
}

出力

size of x: 4
size of y: 1
size of z: 8

  1. 自分だけのYouTubeチャンネルを作る方法

    あなたは、インターネットの心を吹き飛ばすと確信しているLet’s Playシリーズのアイデアを持っています。あるいは、新しい種類のフュージョンクッキングに手を出して、カメラに向き合い、それを世界と共有するカリスマ性を持っているかもしれません。私たちの推定では、独自のYouTubeチャンネルを開始する理由は1,000万ありますが、その最初の一歩を踏み出すのは大変なことです。ありがたいことに、始めるのは思ったより簡単です。ガイドがあれば、すぐにチャンネルを立ち上げて実行できます。 YouTubeでMTEが何をしているのか知りたいですか? Make TechEasierYouTubeチャンネルを

  2. 独自のQRコードを作成する方法は?

    今日、多くのアプリケーションや営利企業が顧客を増やすためにQRコードを使用しています。 QRコードは、自分で詳細を伝えずに他の人と情報を共有する最も簡単な方法です。誰もがQRコードをスキャンするためのカメラ付きの電話を所有しているので、それは近年はるかに人気がありました。ただし、多くのユーザーは、いくつかの異なる目的のために独自のQRコードを作成する方法についてまだ疑問に思っています。この記事では、さまざまなプラットフォームでQRコードを作成する方法を紹介します。 QRコードとは何ですか? QRという用語は迅速な対応を意味します。 QRは、人々がスキャンに使用できる正方形の白黒のロゴ