ホームページ > バックエンド開発 > C++ > C言語で共用体ポインタを説明する

C言語で共用体ポインタを説明する

王林
リリース: 2023-09-12 13:45:04
転載
644 人が閲覧しました

C言語で共用体ポインタを説明する

#ユニオンは、異なるデータ型の複数の変数によって共有されるメモリ位置です。

構文

C プログラミングにおける共用体へのポインタの構文は次のとおりです。 -

union uniontag{
   datatype member 1;
   datatype member 2;
   ----
   ----
   datatype member n;
};
ログイン後にコピー
< /p>例

次の例は、構造体の共用体の使用法を示しています。 。

union sample{
   int a;
   float b;
   char c;
};
ログイン後にコピー

ジョイント変数の宣言

以下はジョイント変数の宣言です。次の 3 つのタイプがあります。 -

タイプ 1

union sample{
   int a;
   float b;
   char c;
}s;
ログイン後にコピー

タイプ 2

の翻訳は次のとおりです。

タイプ 2

union{
   int a;
   float b;
   char c;
}s;
ログイン後にコピー

タイプ 3

翻訳は次のようになります。

Type 3

union sample{
   int a;
   float b;
   char c;
};
union sample s;
ログイン後にコピー

  • 共用体を宣言すると、コンパイラは共用体の変数を収容できる最大サイズの変数型を自動的に作成します。

  • 一度に参照できる変数は 1 つだけです。

  • 同じ構造体構文を使用して共用体メンバーにアクセスします。

  • ドット演算子はメンバーにアクセスするために使用されます。

  • 矢印演算子 (->) は、ポインターを使用してメンバーにアクセスするために使用されます。

構造体と同様に、共用体へのポインタを使用し、矢印演算子 (->) を使用してメンバーにアクセスできます。

次のプログラムは、C プログラミングにおける共用体へのポインターの使用法を示しています。 -

ライブ デモ

#include <stdio.h>
union pointer {
   int num;
   char a;
};
int main(){
   union pointer p1;
   p1.num = 75;
   // p2 is a pointer to union p1
   union pointer* p2 = &p1;
   // Accessing union members using pointer
   printf("%d %c", p2->num, p2->a);
   return 0;
}
ログイン後にコピー

出力

When上記のプログラムを実行すると、次の結果が生成されます。 -

75 K
ログイン後にコピー

例 2

同じ例を異なる入力で考えてみましょう。

リアルタイム デモンストレーション

#include <stdio.h>
union pointer {
   int num;
   char a;
};
int main(){
   union pointer p1;
   p1.num = 90;
   // p2 is a pointer to union p1
   union pointer* p2 = &p1;
   // Accessing union members using pointer
   printf("%d %c", p2->num, p2->a);
   return 0;
}
ログイン後にコピー

出力

上記のプログラムを実行すると、次の結果が生成されます -

90 Z
ログイン後にコピー

以上がC言語で共用体ポインタを説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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