Perbedaan utama: Struktur didefinisikan oleh struct pernyataan, sedangkan serikat didefinisikan oleh Persatuan pernyataan. Keduanya menyimpan data, tetapi sementara penyatuan memungkinkan menyimpan tipe data yang berbeda di lokasi memori yang sama, struktur terutama digunakan untuk mewakili catatan.
Dalam bahasa pemrograman C, baik struktur dan gabungan adalah dua jenis tipe data yang ditentukan pengguna, yang berarti bahwa keduanya adalah dua cara berbeda yang dapat digunakan untuk menyimpan data. Baik struktur dan serikat pekerja hanya mendukung penugasan = dan operator ukuran; Namun, keduanya sedikit berbeda yang membuatnya lebih cocok untuk tugas yang berbeda.
Struktur didefinisikan oleh struct pernyataan, sedangkan serikat didefinisikan oleh Persatuan pernyataan. Keduanya menyimpan data, tetapi sementara penyatuan memungkinkan menyimpan tipe data yang berbeda di lokasi memori yang sama, struktur terutama digunakan untuk mewakili catatan.
Selain itu, sementara struktur memungkinkan penggabungan tipe data yang berbeda, gabungan dapat didefinisikan oleh banyak anggota, tetapi setiap anggota hanya dapat berisi nilai tunggal pada waktu tertentu. Jumlah memori yang diperlukan untuk menyimpannya juga berbeda. Struktur membutuhkan jumlah memori yang setara dengan jumlah ukuran semua anggota. Jumlah memori yang dibutuhkan untuk menyimpan sebuah serikat, di sisi lain, selalu sama dengan yang dibutuhkan oleh anggota terbesarnya.
Dalam suatu struktur, masing-masing anggota memiliki ruang memori masing-masing, sementara dalam sebuah serikat, satu blok digunakan oleh semua anggota serikat. Selain itu, meskipun mengubah satu nilai dalam suatu struktur tidak akan memengaruhi anggota lainnya, hal yang sama tidak dapat dikatakan tentang serikat pekerja. Dalam serikat pekerja, mengubah nilai satu anggota mana pun akan memengaruhi nilai anggota lainnya.
Dalam suatu struktur, seorang anggota individu dapat diakses kapan saja dan semua anggota ini dapat diinisialisasi sekaligus. Sedangkan dalam serikat, hanya satu anggota yang dapat diakses pada waktu tertentu dan hanya anggota pertama serikat yang dapat diinisialisasi pada suatu waktu.
Perlu dicatat bahwa struktur dan serikat pekerja tidak dapat muncul sebagai operan dari kesetaraan ==, ketidaksetaraan! =, Atau operator typecast; tetapi baik struktur dan gabungan dapat diteruskan oleh nilai ke fungsi dan dikembalikan dengan nilai oleh fungsi.
Perbandingan antara Struktur dan Serikat:
Struktur |
Persatuan |
|
Mengetik |
Jenis data yang ditentukan pengguna |
Jenis data yang ditentukan pengguna |
Bahasa |
Bahasa Pemrograman C |
Bahasa Pemrograman C |
Perintah |
itu struct pernyataan |
itu Persatuan pernyataan |
Tujuan |
Digunakan untuk merepresentasikan rekaman. |
Mengizinkan menyimpan berbagai tipe data di lokasi memori yang sama. |
Item data |
Mengizinkan menggabungkan item data dari berbagai jenis. |
Dapat mendefinisikan dengan banyak anggota, tetapi hanya satu anggota yang dapat mengandung nilai pada waktu tertentu. |
Ukuran |
Jumlah memori yang diperlukan untuk menyimpan variabel struktur adalah jumlah dari ukuran semua anggota. |
Jumlah memori yang dibutuhkan selalu sama dengan yang dibutuhkan oleh anggota terbesarnya. |
Blok Memori |
Setiap anggota memiliki ruang memori masing-masing |
Satu blok digunakan oleh semua anggota serikat. |
Perubahan |
Mengubah satu nilai anggota tidak akan memengaruhi anggota struktur lainnya |
Mengubah salah satu nilai anggota mana pun akan memengaruhi nilai anggota lainnya |
Anggota |
Anggota individu dapat diakses kapan saja |
Hanya satu anggota yang dapat diakses pada waktu tertentu |
Inisialisasi |
Beberapa anggota struktur dapat menginisialisasi sekaligus. |
Hanya anggota pertama serikat yang dapat diinisialisasi |
Referensi: Poin Tutorial (Struktur dan Serikat Pekerja), ElectroFriends, Geeks for Geeks, CS Fundamentals Image Courtesy: thecrazyprogrammer.com