Perbedaan antara Struktur dan Persatuan

Daftar Isi:

Anonim

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 lebih dari satu item data dari berbagai tipe data di bawah satu nama.

Dalam tutorial ini, Anda akan mempelajari:

  • Apa itu Struktur?
  • Apa itu Union
  • Sintaks Struktur Deklarasi
  • Contoh Struktur dalam Pemrograman C.
  • Sintaks dari Menyatakan Union
  • Contoh Union dalam Pemrograman C.
  • Struktur Vs. Persatuan
  • Keuntungan struktur
  • Keuntungan dari persatuan
  • Kerugian struktur
  • Kerugian dari serikat pekerja

Apa itu Union

Union adalah tipe data yang ditentukan pengguna, seperti struktur. Union menggabungkan objek dari berbagai jenis dan ukuran bersama. Variabel gabungan mengalokasikan ruang memori yang sama dengan ruang untuk menampung variabel penyatuan terbesar. Ini memungkinkan berbagai jenis objek untuk berbagi lokasi yang sama.

Sintaks Struktur Deklarasi

struct [name of the structure]{type member1;type member2;type member3;};

Struktur dideklarasikan menggunakan kata kunci "struct" dan nama struktur. Nomor 1, nomor 2, nomor 3 adalah anggota individu struktur. Bagian tubuh diakhiri dengan titik koma (;).

Contoh Struktur dalam Pemrograman C.

#include struct student {char name[60];int roll_no;float marks;} sdt;int main() {printf("Enter the following information:\n");printf("Enter student name: ");fgets(sdt.name, sizeof(sdt.name), stdin);printf("Enter student roll number: ");scanf("%d", & sdt. roll_no);printf("Enter students marks: ");scanf("%f", & sdt.marks);printf("The information you have entered is: \n");printf("Student name: ");printf("%s", sdt.name);printf("Student roll number: %d\n", sdt. roll_no);printf("Student marks: %.1f\n", sdt.marks);return 0;}

Dalam program di atas, struktur yang disebut siswa dibuat. Struktur ini memiliki tiga anggota data: 1) nama (string), 2) roll_no (integer), dan 3) tanda (float).

Setelah ini, variabel struktur sdt dibuat untuk menyimpan informasi siswa dan menampilkannya di layar komputer.

Keluaran:

Masukkan informasi berikut:

Masukkan nama siswa: James

Masukkan nomor gulungan siswa: 21

Masukkan nilai siswa: 67

Informasi yang Anda masukkan adalah:

Nama siswa: John

Nomor daftar siswa: 21

Nilai siswa: 67.0

Sintaks dari Menyatakan Union

union [name of union]{type member1;type member2;type member3;};

Union dideklarasikan menggunakan kata kunci "union" dan nama union. Nomor 1, nomor 2, nomor 3 adalah anggota perseorangan dari serikat. Bagian tubuh diakhiri dengan titik koma (;).

Contoh Union dalam Pemrograman C.

#include union item{int x;float y;char ch;};int main( ){union item it;it.x = 12;it.y = 20.2;it.ch = 'a';printf("%d\n", it.x);printf("%f\n", it.y);printf("%c\n", it.ch);return 0;}

Keluaran:

1101109601

20.199892

Sebuah

Dalam program di atas, Anda dapat melihat bahwa nilai x dan y rusak. Hanya variabel ch yang mencetak hasil yang diharapkan. Itu karena, dalam gabungan, lokasi memori dibagi di antara semua tipe data anggota.

Oleh karena itu, satu-satunya anggota data yang nilainya saat ini disimpan, akan menempati ruang memori. Nilai variabel ch akhirnya disimpan, sehingga nilai variabel lainnya hilang.

Struktur Vs. Persatuan

Inilah perbedaan penting antara struktur dan penyatuan:

Struktur Persatuan
Anda dapat menggunakan kata kunci struct untuk mendefinisikan struktur. Anda dapat menggunakan kata kunci union untuk mendefinisikan sebuah union.
Setiap anggota dalam struktur diberi lokasi memori yang unik. Dalam persatuan, lokasi memori dibagikan oleh semua anggota data.
Mengubah nilai salah satu anggota data tidak akan memengaruhi anggota data lainnya dalam struktur. Mengubah nilai salah satu anggota data akan mengubah nilai anggota data lainnya dalam serikat.
Ini memungkinkan Anda untuk menginisialisasi beberapa anggota sekaligus. Ini memungkinkan Anda untuk menginisialisasi hanya anggota pertama serikat.
Ukuran total struktur adalah jumlah dari ukuran setiap anggota data. Ukuran total serikat adalah ukuran anggota data terbesar.
Ini terutama digunakan untuk menyimpan berbagai tipe data. Ini terutama digunakan untuk menyimpan salah satu dari banyak tipe data yang tersedia.
Ini menempati ruang untuk setiap anggota yang ditulis dalam parameter batin. Ini menempati ruang untuk anggota yang memiliki ukuran tertinggi yang tertulis di parameter dalam.
Anda dapat mengambil anggota mana pun dalam satu waktu. Anda dapat mengakses satu anggota dalam satu waktu.
Ini mendukung larik fleksibel. Itu tidak mendukung larik fleksibel.

Keuntungan struktur

Berikut adalah keuntungan / keuntungan menggunakan struktur:

  • Struktur mengumpulkan lebih dari satu data tentang subjek yang sama di tempat yang sama.
  • Ini berguna ketika Anda ingin mengumpulkan data dengan tipe data dan parameter serupa seperti nama depan, nama belakang, dll.
  • Sangat mudah untuk memeliharanya karena kami dapat merepresentasikan keseluruhan record dengan menggunakan satu nama.
  • Dalam strukturnya, kita dapat mengirimkan kumpulan record lengkap ke fungsi apa pun menggunakan parameter tunggal.
  • Anda dapat menggunakan larik struktur untuk menyimpan lebih banyak rekaman dengan tipe serupa.

Keuntungan dari persatuan

Berikut, keuntungan / keuntungan menggunakan union:

  • Ini menempati lebih sedikit memori dibandingkan dengan struktur.
  • Saat Anda menggunakan union, hanya variabel terakhir yang bisa langsung diakses.
  • Union digunakan ketika Anda harus menggunakan lokasi memori yang sama untuk dua atau lebih anggota data.
  • Ini memungkinkan Anda untuk menyimpan data hanya dari satu anggota data.
  • Ruang yang dialokasikan sama dengan ukuran maksimum anggota data.

Kerugian struktur

Berikut adalah kekurangan / kekurangan dalam menggunakan struktur:

  • Jika kompleksitas proyek TI melampaui batas, maka akan sulit untuk dikelola.
  • Perubahan satu struktur data dalam suatu kode memerlukan perubahan di banyak tempat lain. Oleh karena itu, perubahan menjadi sulit dilacak.
  • Struktur lebih lambat karena membutuhkan ruang penyimpanan untuk semua data.
  • Anda dapat mengambil anggota mana pun pada satu waktu dalam struktur sedangkan Anda dapat mengakses satu anggota dalam satu waktu dalam serikat.
  • Struktur menempati ruang untuk masing-masing dan setiap anggota yang ditulis dalam parameter dalam sementara serikat menempati ruang untuk anggota yang memiliki ukuran tertinggi tertulis dalam parameter dalam.
  • Struktur mendukung larik fleksibel. Union tidak mendukung larik fleksibel.

Kerugian dari serikat pekerja

Berikut adalah kekurangan / kekurangan dalam menggunakan union:

  • Anda hanya dapat menggunakan satu anggota serikat dalam satu waktu.
  • Semua variabel gabungan tidak dapat diinisialisasi atau digunakan dengan nilai yang berbeda-beda pada satu waktu.
  • Serikat memberikan satu ruang penyimpanan umum untuk semua anggotanya.

PERBEDAAN UTAMA:

  • Setiap anggota dalam struktur diberi lokasi memori unik sementara dalam gabungan lokasi memori dibagikan oleh semua anggota data.
  • Mengubah nilai salah satu anggota data tidak akan mempengaruhi anggota data lainnya dalam struktur sedangkan mengubah nilai salah satu anggota data akan mengubah nilai anggota data lainnya dalam serikat.
  • Struktur terutama digunakan untuk menyimpan berbagai tipe data sedangkan union terutama digunakan untuk menyimpan salah satu dari banyak tipe data.
  • Secara struktur, Anda dapat mengambil setiap anggota pada satu waktu di sisi lain dalam serikat, Anda dapat mengakses satu anggota pada satu waktu.
  • Struktur mendukung larik fleksibel sementara union tidak mendukung larik fleksibel.