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

Cの匿名ユニオンと構造


ここでは、Cの匿名の共用体と構造体について説明します。匿名の共用体と構造体は、名前のない共用体と構造体です。名前がないため、直接オブジェクトを作成することはできません。ネストされた構造またはユニオンとして使用します。

これらは匿名の組合と構造の例です。

struct {
   datatype variable;
   ...
};
union {
   datatype variable;
   ...
};

この例では、ポイントと呼ばれる1つの構造を作成しています。これは、匿名の構造を保持しています。これは、2つの値x、yを保持しています。匿名の構造または組合員に直接アクセスできます。

#include<stdio.h>
struct point {
   // Anonymous structure
   struct {
      int x;
      int y;
   };
};
main() {
   struct point pt;
   pt.x = 10;
   pt.y = 20;
   printf("Point (%d,%d)", pt.x, pt.y); //anonymus members can be accessed directly
}

出力

Point (10,20)

  1. 4つの優れた匿名およびプライベートEメールサービス

    メールは素晴らしい発明ですが、少し負担にもなります。自分が誰であるかを明かさずにメッセージを送信したい場合があります。また、その後のスパムメッセージの集中砲火に耐えることなく、オンラインで何かにサインアップしたい場合もあります。 幸いなことに、匿名およびプライベートの優れた電子メールプロバイダーが多数あります。それらの多くは一時的なメールボックスでもあるため、メインのメールとして使用することはできません。 ただし、身元を明かしたり、メッセージを傍受したりせずに情報を広める必要がある場合は、プライバシーに重点を置いたこれらの優れたツールの1つを探す必要があります。 ゲリラメール

  2. データ構造における圧縮された四分木と八分木

    圧縮された四分木 細分化されたセルに対応するすべてのノードを格納するときに、多くの空のノードを格納してしまう可能性があります。このようなまばらなツリーのサイズを縮小するには、葉に興味深いデータがあるサブツリー(つまり、「重要なサブツリー」)のみを保存します。ここでも、実際にサイズをさらに縮小することができます。重要なサブツリーのみを考慮する場合、プルーニングプロセスは、中間ノードの次数が2(1つの親と1つの子へのリンク)であるツリー内の長いパスを回避する場合があります。このパスの先頭にノードUを格納し(そして削除されたノードを表すためにいくつかのメタデータをそれに関連付けて)、その最後にルー