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#構造には次の機能があります- 構造体には、メソッド、フィールド、インデクサー、プロパティ、演算子メソッド、およびイベントを含めることができます。 構造体はコンストラクターを定義できますが、デストラクタはできません。ただし、構造体のデフォルトのコンストラクターを定義することはできません。デフォルトのコンストラクターは自動的に定義され、変更できません。 クラスとは異なり、構造体は他の構造体やクラスを継承で