
Union adalah tipe data yang ditentukan user yang sangat menarik dalam bahasa pemrograman C. Ini sangat mirip dengan struktur dalam bahasa pemrograman C. Namun, ada beberapa perbedaan karena struktur dan gabungan mana yang dianggap sebagai tipe data independen dalam bahasa pemrograman C. Secara langsung, Anda dapat mempertimbangkan gabungan sebagai konjungsi atau gabungan dari berbagai tipe data dalam satu wadah. Ini berarti bahwa serikat pekerja dapat menampung variabel milik tipe data yang berbeda dalam wadah yang sama.
Semua diskusi ini akan mulai lebih masuk akal setelah kita membahas beberapa contoh yang relevan berdasarkan useran serikat pekerja dalam bahasa pemrograman C di Linux. Namun, sebelum membagikan contoh tersebut kepada Anda, kami ingin mendiskusikan cara kerja serikat pekerja dan struktur sehingga Anda dapat membedakan antara kedua tipe data ini sebelum melihat contoh terkait. Jadi, mari kita lihat bagian terlampir dari artikel kami.
Serikat vs Struktur di C:
Kita semua tahu bahwa struktur dalam C adalah tipe data yang ditentukan user yang dapat menampung banyak nilai. Nilai-nilai ini dapat sesuai dengan tipe data yang berbeda. Sama halnya dengan serikat pekerja di C. Lalu, di mana perbedaan antara struktur dan serikat pekerja? Nah, jawaban untuk pertanyaan ini sedikit lebih rumit. Setiap kali Anda membuat struktur dengan lebih dari satu anggota data, itu mengalokasikan lokasi memori terpisah untuk masing-masing anggota data ini. Ini berarti Anda dapat menetapkan nilai ke semua anggota data sekaligus, dan nilai tersebut akan disimpan di lokasi memori independen.
Di sisi lain, dalam kasus serikat pekerja di C, setiap kali Anda membuat serikat dengan lebih dari satu anggota data, itu tidak mengalokasikan lokasi memori terpisah untuk semua anggota data. Melainkan ruang tunggal terpadu dicadangkan untuk semua anggota data ini. Ini berarti bahwa tidak peduli berapa banyak anggota data dari tipe data yang berbeda yang ada dalam satu kesatuan, itu hanya dapat menyimpan satu tipe data.
Contoh Union di C:
Sekarang ketika Anda mengetahui perbedaan antara struktur dan serikat pekerja, inilah saat yang tepat untuk membagikan beberapa contoh serikat pekerja di C untuk memvisualisasikan inti dari konsep ini. Kami telah merancang contoh berikut untuk membagikan useran serikat pekerja yang salah di C diikuti dengan useran yang benar untuk memahami konsep ini dengan baik. Mari kita lihat kedua contoh ini.
Contoh #1: Penggunaan Union yang Salah di C
Untuk contoh pertama artikel hari ini, kami telah menulis program C dalam file bernama Unions.c. Dalam program ini, kami telah membuat serikat pekerja yang dideklarasikan dengan kata kunci “union” diikuti dengan nama serikat pekerja, yang dalam kasus kami adalah “SampleUnion”. Dalam tubuh serikat ini, kami memiliki tiga anggota data yang termasuk dalam tipe data yang berbeda, yaitu “int”, “float”, dan “char[]”. Setelah membuat union, kita memiliki fungsi “main()” kita. Dalam fungsi ini, pertama-tama kita membuat objek serikat, yang dibuat dengan terlebih dahulu menggunakan kata kunci “union”, diikuti dengan nama serikat, yaitu, “SampleUnion” dalam kasus kami, dan kemudian, nama objek yang telah kita pilih untuk menjadi “SU”. Setelah membuat objek ini, kami telah menetapkan nilai ke anggota data serikat kami dengan menggunakan objek ini. Akhirnya,
Kompilasi Program C:
Anda dapat dengan mudah mengkompilasi program C yang dibuat di atas, dengan perintah yang ditunjukkan di bawah ini:
$ gcc Unions.c –o Unions
Kompilasi kode C Anda tanpa error akan menyiratkan bahwa Anda dapat melanjutkan ke eksekusi kode Anda.
Eksekusi Program C:
Untuk menjalankan program C Anda di Linux, Anda harus mengakses file objeknya yang dibuat di atas dengan cara berikut:
$./Unions
Output dari program C kami yang dibuat di atas ditunjukkan di bawah ini. Namun, Anda dapat dengan jelas melihat dari output ini bahwa nilai dari “int” dan “float” data anggota serikat kami rusak karena mereka ditimpa oleh anggota data “char[]” kami. In
i berarti bahwa kami telah salah menggunakan serikat kami dengan menetapkan nilai yang berbeda untuk anggota data serikat pada saat yang sama, yang serikat tidak mampu memproses.
Contoh #2: Penggunaan Union yang Benar di C
Sekarang, mari kita lihat versi yang diperbaiki dari kode serikat kita yang kita buat di atas. Versi ini ditunjukkan pada gambar yang ditempelkan di bawah ini. Satu-satunya perbedaan adalah bahwa kali ini kami mencetak nilai dari semua anggota data satu per satu, yaitu, tepat setelah memberikan nilai kepada mereka untuk mendapatkan nilai aktualnya dalam output alih-alih nilai rusak yang ditimpa.
Metode kompilasi dan eksekusi program C di Linux telah dibagikan kepada Anda dalam contoh pertama. Oleh karena itu, saat program C Anda akan dijalankan, Anda akan bisa mendapatkan nilai output yang benar untuk semua anggota data, seperti yang ditunjukkan pada gambar di bawah ini. Kali ini, kami telah menggunakan serikat pekerja di C dengan benar dengan menetapkan satu nilai ke anggota data pada satu waktu.
Kesimpulan:
Semoga artikel ini memberikan wawasan yang baik tentang konsep serikat pekerja di C. Dengan mempelajari berbagai contoh yang kami bagikan hari ini, Anda akan bekerja dengan baik dengan serikat pekerja di C secara efisien.