Perbedaan Antara Struktur dan Union di C

Daftar Isi:

Perbedaan Antara Struktur dan Union di C
Perbedaan Antara Struktur dan Union di C

Video: Perbedaan Antara Struktur dan Union di C

Video: Perbedaan Antara Struktur dan Union di C
Video: Tutorial Bahasa C #10: Struct dan Union 2024, Desember
Anonim

Perbedaan Kunci – Struktur vs Serikat di C

Array adalah data terstruktur yang didukung oleh bahasa C. Array dapat digunakan untuk menyimpan elemen data dengan tipe yang sama. Jika ada pernyataan seperti tanda int [10]; maka tanda adalah array yang dapat menyimpan sepuluh tanda dan semuanya adalah bilangan bulat. Terkadang diperlukan menyimpan elemen data dari tipe yang berbeda di lokasi memori yang sama. Misalnya, seorang karyawan dapat memiliki ID karyawan, nama, departemen, usia, dll. Mereka memiliki tipe data yang berbeda. Oleh karena itu, diperlukan suatu metode untuk menyimpan berbagai elemen data sebagai satu kesatuan. Struktur dan Serikat dalam C digunakan untuk menyimpan elemen data dari berbagai jenis di lokasi memori yang sama. Struktur dan serikat serupa tetapi mereka terutama membedakan karena alokasi memori. Memori yang diperlukan untuk menyimpan variabel struktur adalah penjumlahan dari ukuran memori semua anggota. Memori yang diperlukan untuk menyimpan variabel gabungan adalah memori yang diperlukan untuk elemen terbesar dalam gabungan. Itulah perbedaan utama antara struktur dan serikat di C. Artikel ini membahas perbedaan antara struktur dan serikat di C.

Apa itu Struktur dalam C?

Struktur adalah tipe data yang ditentukan pengguna dalam C. Ini membantu untuk menggabungkan item data dari tipe yang berbeda. Sebuah struktur dapat merepresentasikan record. Seorang siswa dapat memiliki student_id, student_name dll. Daripada menyimpan setiap variabel secara terpisah, semua item data yang berbeda ini dapat dipadatkan menjadi satu unit menggunakan struktur. Itu didefinisikan menggunakan kata kunci 'struct'. Dalam sebuah struktur, semua anggotanya dapat diakses kapan saja. Berikut ini adalah pembuatan struct tipe data turunan Student.

struct Siswa {

intstudent_id;

char student_name[20];

};

Untuk struktur di atas, variabel dapat dideklarasikan sebagai berikut.

struct Siswa siswa1, siswa2, siswa3;

Ada dua metode untuk mengakses anggota struktur. Yaitu dengan menggunakan operator anggota (.) dan operator penunjuk struktur (->). Anggota dapat diakses menggunakan structure_variable_name. nama anggota. Jika programmer ingin mengakses nama siswa 2, maka ia dapat menulis pernyataan sebagai printf(student2.student_namename);

Lihat program di bawah ini dengan struktur.

Perbedaan Antara Struktur dan Serikat di C
Perbedaan Antara Struktur dan Serikat di C

Gambar 01: Program C dengan struktur

Menurut program di atas, Siswa adalah sebuah struktur. Ini berisi student_id dan student_name. Dua variabel tipe struktur dideklarasikan dalam program utama. Mereka disebut siswa1 dan siswa2. Id siswa1 ditetapkan dengan nilai 1 menggunakan operator anggota sebagai siswa1.siswa_id=1. Nama "Ann" adalah sebuah string. Oleh karena itu, ini disalin ke anggota student_name menggunakan fungsi penyalinan string strcpy. Id dan nama diberikan kepada siswa2 dengan cara yang sama. Terakhir, nilai-nilai tersebut dicetak menggunakan operator anggota.

Jumlah memori yang diperlukan untuk menyimpan variabel struktur adalah jumlah dari ukuran memori semua anggota. Student_id berisi 4 byte dan student_name berisi 20 byte (masing-masing satu byte untuk satu karakter). Total 24 byte adalah jumlah dari ukuran memori yang dibutuhkan oleh struktur.

Apa itu Union di C?

Union adalah tipe data yang ditentukan pengguna di C. Ini membantu untuk menyimpan tipe data yang berbeda di lokasi memori yang sama. Buku dapat memiliki properti seperti nama_buku, harga, dll. Alih-alih membuat variabel untuk masing-masingnya, gabungan dapat digunakan untuk memadatkan semua tipe data yang berbeda menjadi satu unit menggunakan gabungan. Didefinisikan dengan menggunakan kata kunci 'union'. Berikut ini membuat sebuah data union Book yang diturunkan.

unionBook{

nama karakter[20];

harga ganda;

};

Untuk gabungan di atas, variabel dapat dideklarasikan sebagai berikut.

union Buku buku1, buku2;

Ada dua metode untuk mengakses anggota serikat. Yaitu dengan menggunakan operator anggota (.) dan operator penunjuk struktur (->). Anggota dapat diakses menggunakan union_variable_name. nama anggota. Jika programmer ingin mengakses nama buku1, maka ia dapat menulis pernyataan sebagai printf(buku1.name);

Lihat program di bawah ini dengan serikat pekerja.

Perbedaan Antara Struktur dan Serikat di C_Gambar 02
Perbedaan Antara Struktur dan Serikat di C_Gambar 02

Gambar 02: Program C menggunakan union

Menurut program di atas, Buku adalah satu kesatuan. book1 adalah variabel bertipe union. Nama dan harga diberi nilai. Dalam serikat, hanya satu anggotanya yang dapat diakses pada satu waktu dan semua anggota lainnya akan memiliki nilai sampah. Nilai id tidak tercetak dengan benar tetapi nilai harga tercetak dengan benar.

Perbedaan Kunci Antara Struktur dan Union di C
Perbedaan Kunci Antara Struktur dan Union di C

Gambar 03: Program C yang dimodifikasi dengan union

Menurut program di atas, Buku adalah sebuah kesatuan. book1 dan book2 adalah variabel tipe serikat pekerja. Pertama, nilai untuk nama book1 ditetapkan dan dicetak. Kemudian nilai untuk nama book2 ditetapkan dan dicetak. Semua anggota mencetak dengan benar karena satu anggota digunakan pada satu waktu. Memori yang diperlukan untuk menyimpan union adalah memori yang dibutuhkan untuk elemen terbesar dari union. Dalam program di atas, variabel nama adalah 20 byte. Ini lebih besar dari harga. Jadi, alokasi memori untuk union adalah 20 byte.

Apa Persamaan Antara Struktur dan Union di C?

  • Struktur dan Union dalam C adalah tipe data yang ditentukan pengguna.
  • Struktur dan Union di C dapat digunakan untuk menyimpan tipe data yang berbeda di lokasi memori yang sama.

Apa Perbedaan Antara Struktur dan Union di C?

Struktur vs Serikat di C

Structure adalah tipe data yang ditentukan pengguna dalam bahasa C yang memungkinkan penggabungan data dari berbagai tipe bersama-sama. Union adalah tipe data yang ditentukan pengguna dalam bahasa C yang memungkinkan penggabungan data dari berbagai tipe bersama-sama.
Aksesibilitas
Dalam sebuah struktur, semua anggotanya dapat diakses kapan saja. Dalam serikat, hanya satu anggotanya yang dapat diakses pada satu waktu dan semua anggota lainnya akan berisi nilai sampah.
Alokasi Memori
Memori yang diperlukan untuk menyimpan variabel struktur adalah penjumlahan dari ukuran memori semua anggota. Memori yang diperlukan untuk menyimpan variabel gabungan adalah memori yang diperlukan untuk elemen terbesar dalam gabungan.
Kata Kunci
Kata kunci yang digunakan untuk mendefinisikan struktur adalah 'struct'. Kata kunci yang digunakan untuk mendefinisikan serikat adalah 'serikat'.

Ringkasan – Struktur vs Serikat di C

Array digunakan untuk menyimpan elemen data dengan tipe yang sama. Terkadang perlu untuk menyimpan elemen data dari tipe yang berbeda di lokasi memori yang sama. Bahasa pemrograman C menyediakan struktur dan kesatuan untuk menyelesaikan tugas ini. Keduanya adalah tipe data yang ditentukan pengguna. Memori yang diperlukan untuk menyimpan variabel struktur adalah penjumlahan dari ukuran memori semua anggota. Memori yang diperlukan untuk menyimpan variabel gabungan adalah memori yang diperlukan untuk elemen terbesar dalam gabungan. Inilah perbedaan antara struktur dan serikat di C.

Direkomendasikan: