Rumah > pembangunan bahagian belakang > C++ > Terangkan penunjuk kesatuan dalam bahasa C

Terangkan penunjuk kesatuan dalam bahasa C

王林
Lepaskan: 2023-09-12 13:45:04
ke hadapan
744 orang telah melayarinya

Terangkan penunjuk kesatuan dalam bahasa C

Kesatuan ialah lokasi memori yang dikongsi oleh berbilang pembolehubah jenis data yang berbeza.

Sintaks

Sintaks penuding kepada kesatuan dalam pengaturcaraan C adalah seperti berikut-

union uniontag{
   datatype member 1;
   datatype member 2;
   ----
   ----
   datatype member n;
};
Salin selepas log masuk

Contoh #🎜#🎜##🎜🎜🎜🎜 contoh menunjukkan Memahami penggunaan kesatuan struktur.

union sample{
   int a;
   float b;
   char c;
};
Salin selepas log masuk

Pengisytiharan pembolehubah bersama

Berikut ialah pengisytiharan pembolehubah bersama. Ia mempunyai tiga jenis seperti berikut −

Type 1

union sample{
   int a;
   float b;
   char c;
}s;
Salin selepas log masuk

Type 2

diterjemahkan sebagai:

Type 2#🎜 daripada 🎜🎜#Type 3

ialah:

Type 3

union{
   int a;
   float b;
   char c;
}s;
Salin selepas log masuk

Apabila mengisytiharkan saiz pembolehubah secara automatik, pengkompil akan mencipta gabungan secara automatik untuk memegang pembolehubah dalam kesatuan.

  • Hanya satu pembolehubah boleh dirujuk pada bila-bila masa.

  • Gunakan sintaks struktur yang sama untuk mengakses ahli kesatuan.

  • Pengendali titik digunakan untuk mengakses ahli.

  • Pengendali anak panah (->) digunakan untuk mengakses ahli menggunakan penunjuk.

  • Kita boleh menggunakan penunjuk kepada kesatuan dan menggunakan pengendali anak panah (->) untuk mengakses ahli, sama seperti struct.

  • Contoh

Program berikut menunjukkan penggunaan penunjuk kepada kesatuan dalam pengaturcaraan C -

Live Demo

union sample{
   int a;
   float b;
   char c;
};
union sample s;
Salin selepas log masuk
# 🎜 Output

Apabila program di atas dilaksanakan, ia menghasilkan hasil berikut −

#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;
}
Salin selepas log masuk

Contoh 2

Pertimbangkan contoh yang sama dengan input yang berbeza

Demonstrasi masa nyata

75 K
Salin selepas log masuk
Output

Apabila program di atas dilaksanakan, ia menghasilkan keputusan berikut −#🎜🎜🎜🎜 🎜#

Atas ialah kandungan terperinci Terangkan penunjuk kesatuan dalam bahasa C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan