C言語の構造体の結合とは何ですか?
ユニオンは、Cプログラミング言語のさまざまなデータ型のいくつかの変数によって共有されるメモリの場所です。
構文
構造体の結合の構文は次のとおりです-
union uniontag{ datatype member 1; datatype member 2; ---- ---- datatype member n; };
例
次の例は、構造体の結合の使用法を示しています-
union sample{ int a; float b; char c; };
共用体変数の宣言
以下は、ユニオン変数の宣言です。次の3種類があります-
タイプ1
union sample{ int a; float b; char c; }s;
タイプ2
union{ int a; float b; char c; }s;
タイプ3
union sample{ int a; float b; char c; }; union sample s;
-
ユニオンが宣言されると、コンパイラは自動的に最大サイズの変数タイプを作成して、ユニオン内の変数を保持します。
-
いつでも、参照できる変数は1つだけです。
初期化とアクセス
-
ユニオンメンバーにアクセスするには、同じ構造の構文が使用されます。
-
ドット演算子はメンバーにアクセスするためのものです。
-
矢印演算子(->)は、ポインターを使用してメンバーにアクセスするために使用されます。
サンプルプログラム1
次のプログラムは、構造体の結合の使用法を示しています。
union sample{ int a; float b; char c; } main ( ){ union sample s = {10, 20.5, "A"}; printf("a=%d",s.a); printf("b=%f",s.b); printf("c=%c",s.c); }
出力
上記のプログラムを実行すると、次の結果が得られます-
a = garbage value b = garbage value c = A
構造の結合
-
構造体はユニオン内にネストでき、構造体のユニオンと呼ばれます。
-
構造内にユニオンを作成することができます。
サンプルプログラム2
構造体の結合の使用法を示す別のCプログラムを以下に示します-
struct x{ int a; float b; }; union z{ struct x s; }; main ( ){ union z u; u.s.a = 10; u.s.b = 30.5; printf("a=%d", u.s.a); printf("b=%f", u.s.b); }
出力
上記のプログラムを実行すると、次の結果が得られます-
a= 10 b = 30.5
-
C言語のstrcmp()関数とは何ですか?
Cライブラリ関数intstrcmp(const char * str1、const char * str2) str1が指す文字列を比較します str2が指す文字列へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です- char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,&ls
-
C#の構造とは何ですか?
C#の構造体は、値型のデータ型です。これは、単一の変数にさまざまなデータ型の関連データを保持させるのに役立ちます。 structキーワードは、構造体の作成に使用されます。 C#構造には次の機能があります- 構造体には、メソッド、フィールド、インデクサー、プロパティ、演算子メソッド、およびイベントを含めることができます。 構造体はコンストラクターを定義できますが、デストラクタはできません。ただし、構造体のデフォルトのコンストラクターを定義することはできません。デフォルトのコンストラクターは自動的に定義され、変更できません。 クラスとは異なり、構造体は他の構造体やクラスを継承で