Bahasa C
serikat adalah tipe data khusus yang tersedia di C yang memungkinkan untuk menyimpan tipe data yang berbeda di lokasi memori yang sama. Anda dapat menentukan serikat pekerja dengan banyak anggota, tetapi hanya satu anggota yang dapat berisi nilai pada waktu tertentu. Union menyediakan cara yang efisien dalam menggunakan lokasi memori yang sama untuk berbagai tujuan.
Untuk menentukan serikat pekerja, Anda harus menggunakan serikat pernyataan dengan cara yang sama seperti yang Anda lakukan saat mendefinisikan struktur. Pernyataan serikat pekerja mendefinisikan tipe data baru dengan lebih dari satu anggota untuk program Anda. Format pernyataan serikat pekerja adalah sebagai berikut
union [union tag] { member definition; member definition; ... member definition; } [one or more union variables];
tag serikat pekerja adalah opsional dan setiap definisi anggota adalah definisi variabel normal, seperti int i; atau mengambang f; atau definisi variabel valid lainnya. Di akhir definisi serikat, sebelum titik koma terakhir, Anda dapat menentukan satu atau lebih variabel serikat tetapi opsional. Berikut adalah cara Anda mendefinisikan tipe gabungan bernama Data yang memiliki tiga anggota i, f, dan str
union Data { int i; float f; char str[20]; } data;
Sekarang, variabel Data type dapat menyimpan integer, angka floating-point, atau string karakter. Ini berarti satu variabel, yaitu lokasi memori yang sama, dapat digunakan untuk menyimpan beberapa jenis data. Anda dapat menggunakan tipe data bawaan atau yang ditentukan pengguna di dalam serikat berdasarkan kebutuhan Anda.
Memori yang ditempati oleh serikat pekerja akan cukup besar untuk menampung anggota serikat pekerja terbesar. Misalnya, pada contoh di atas, Tipe data akan menempati 20 byte ruang memori karena ini adalah ruang maksimum yang dapat ditempati oleh string karakter. Contoh berikut menampilkan total ukuran memori yang ditempati oleh gabungan di atas −
Demo Langsung#include <stdio.h> #include <string.h> union Data { int i; float f; char str[20]; }; int main( ) { union Data data; printf( "Memory size occupied by data : %d\n", sizeof(data)); return 0; }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
Memory size occupied by data : 20
Untuk mengakses setiap anggota serikat, kami menggunakan operator akses anggota (.) . Operator akses anggota dikodekan sebagai titik antara nama variabel serikat pekerja dan anggota serikat yang ingin kita akses. Anda akan menggunakan kata kunci union untuk mendefinisikan variabel tipe serikat pekerja. Contoh berikut menunjukkan cara menggunakan serikat pekerja dalam program −
Demo Langsung#include <stdio.h> #include <string.h> union Data { int i; float f; char str[20]; }; int main( ) { union Data data; data.i = 10; data.f = 220.5; strcpy( data.str, "C Programming"); printf( "data.i : %d\n", data.i); printf( "data.f : %f\n", data.f); printf( "data.str : %s\n", data.str); return 0; }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
data.i : 1917853763 data.f : 4122360580327794860452759994368.000000 data.str : C Programming
Di sini, kita dapat melihat bahwa nilai i dan f anggota serikat menjadi rusak karena nilai akhir yang ditetapkan ke variabel telah menempati lokasi memori dan inilah alasan mengapa nilai str anggota dicetak dengan sangat baik.
Sekarang mari kita lihat contoh yang sama sekali lagi di mana kita akan menggunakan satu variabel pada satu waktu yang merupakan tujuan utama dari serikat pekerja −
Demo Langsung#include <stdio.h> #include <string.h> union Data { int i; float f; char str[20]; }; int main( ) { union Data data; data.i = 10; printf( "data.i : %d\n", data.i); data.f = 220.5; printf( "data.f : %f\n", data.f); strcpy( data.str, "C Programming"); printf( "data.str : %s\n", data.str); return 0; }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
data.i : 10 data.f : 220.500000 data.str : C Programming
Di sini, semua anggota dicetak dengan sangat baik karena satu anggota digunakan pada satu waktu.
Bahasa C
Pelajari tentang objek data yang disebut union dalam bahasa C yang disematkan. Pelajari tentang objek data yang disebut union dalam bahasa C yang disematkan. Perbedaan Antara Struktur dan Union dalam Embedded C Dalam artikel sebelumnya dari seri ini, kita telah membahas bahwa struktur dalam C yang
Apa itu Struktur? Struktur adalah tipe data yang ditentukan pengguna dalam bahasa pemrograman C yang menggabungkan item data yang terkait secara logis dari tipe data yang berbeda bersama-sama. Semua elemen struktur disimpan di lokasi memori yang berdekatan. Variabel tipe struktur dapat menyimpan l
Gangguan dengan kamera penglihatan mesin, sensor yang tidak dikalibrasi, atau bayangan yang tidak terduga dapat menyebabkan kesalahan yang berpotensi mahal dan berbahaya dalam sistem AI industri. Namun, para peneliti sedang mengembangkan algoritme pemeriksaan kesalahan serta tindakan sederhana yang
Memanfaatkan Apa yang Anda Miliki untuk Mewujudkan Apa yang Terjadi Selanjutnya Dalam kapasitas saya sebagai Ketua Dewan Direktur Institut Manufaktur AS, saya sering ditanya tentang tren manufaktur maju AS. Saat menerima pertanyaan seperti ini, saya mencoba memikirkan manufaktur maju seluas mungkin