Perbezaan Utama - Struktur vs Kesatuan di C
Array adalah data berstruktur yang disokong oleh bahasa C. Array boleh digunakan untuk menyimpan elemen data dari jenis yang sama. Sekiranya terdapat pernyataan sebagai tanda int [10]; maka markah adalah tatasusunan yang dapat menyimpan sepuluh markah dan semuanya adalah bilangan bulat. Kadang-kadang diperlukan menyimpan elemen data dari pelbagai jenis di lokasi memori yang sama. Sebagai contoh, pekerja boleh mempunyai ID pekerja, nama, jabatan, umur dan lain-lain. Mereka terdiri daripada pelbagai jenis data. Oleh itu, perlu ada kaedah untuk menyimpan pelbagai elemen data sebagai satu unit. Struktur dan Kesatuan dalam C digunakan untuk menyimpan elemen data dari pelbagai jenis di lokasi memori yang sama. Struktur dan kesatuan serupa tetapi mereka membezakan terutamanya kerana peruntukan memori. Memori yang diperlukan untuk menyimpan pemboleh ubah struktur adalah penjumlahan ukuran memori semua anggota. Memori yang diperlukan untuk menyimpan pembolehubah kesatuan adalah memori yang diperlukan untuk elemen terbesar dalam kesatuan. Itulah perbezaan utama antara struktur dan kesatuan di C. Artikel ini membincangkan perbezaan antara struktur dan kesatuan di C.
KANDUNGAN
1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu Struktur di C
3. Apakah Kesatuan di C
4. Persamaan Antara Struktur dan Kesatuan di C
5. Perbandingan Berdampingan - Struktur vs Kesatuan di C dalam Borang Jadual
6. Ringkasan
Apakah Struktur dalam C?
Struktur adalah jenis data yang ditentukan pengguna di C. Ia membantu menggabungkan item data dari pelbagai jenis. Struktur boleh mewakili rekod. Pelajar boleh mempunyai student_id, student_name dll. Daripada menyimpan setiap pemboleh ubah secara berasingan, semua item data yang berbeza ini dapat dipadatkan menjadi satu unit menggunakan struktur. Ia ditakrifkan menggunakan kata kunci 'struct'. Dalam struktur, semua anggotanya dapat diakses pada bila-bila masa. Berikut ini menghasilkan pelajar jenis data struktur.
Pelajar struktur {
intstudent_id;
char_nama pelajar [20];
};
Untuk struktur di atas, pemboleh ubah dapat dinyatakan seperti berikut.
struct Pelajar pelajar1, pelajar2, pelajar3;
Terdapat dua kaedah untuk mengakses anggota struktur. Iaitu dengan menggunakan operator anggota (.) Dan operator penunjuk struktur (->). Anggota boleh diakses menggunakan nama_variabel struktur. nama ahli. Sekiranya pengaturcara ingin mengakses nama pelajar 2, maka dia boleh menulis pernyataan tersebut sebagai printf (student2.student_namename);
Rujuk program di bawah dengan struktur.
Gambar 01: Program C dengan struktur
Mengikut program di atas, Pelajar adalah struktur. Ia mengandungi student_id dan student_name. Dua pemboleh ubah jenis struktur dinyatakan dalam program utama. Mereka digelar student1 dan student2. Id pelajar1 diberikan nilai 1 menggunakan pengendali ahli sebagai student1.student_id = 1. Nama "Ann" adalah rentetan. Oleh itu, ia disalin ke member_name member menggunakan fungsi string copy strcpy. Id dan nama diberikan kepada pelajar2 dengan cara yang serupa. Akhirnya, nilai-nilai tersebut dicetak menggunakan operator anggota.
Jumlah memori yang diperlukan untuk menyimpan pemboleh ubah struktur adalah jumlah ukuran memori semua anggota. Student_id mengandungi 4 bait dan student_name mengandungi 20 bait (satu bait setiap satu untuk watak). Jumlah 24 bait adalah jumlah ukuran memori yang diperlukan oleh struktur.
Apa itu Union dalam C?
Kesatuan adalah jenis data yang ditentukan pengguna di C. Ia membantu menyimpan pelbagai jenis data di lokasi memori yang sama. Buku boleh mempunyai sifat seperti nama_ buku, harga dan lain-lain. Daripada membuat pemboleh ubah untuk masing-masing, kesatuan boleh digunakan untuk memadatkan semua jenis data yang berbeza menjadi satu unit menggunakan kesatuan. Ia ditakrifkan menggunakan kata kunci 'kesatuan'. Berikut ini dibuat Buku penyatuan data yang berasal.
Buku kesatuan {
nama char [20];
harga berganda;
};
Untuk kesatuan di atas, pemboleh ubah boleh dinyatakan seperti berikut.
buku kesatuan buku1, buku2;
Terdapat dua kaedah untuk mengakses anggota kesatuan. Iaitu dengan menggunakan operator anggota (.) Dan operator penunjuk struktur (->). Anggota boleh diakses dengan menggunakan nama_variasi_negara. nama ahli. Sekiranya pengaturcara ingin mengakses nama buku1, maka dia boleh menulis pernyataan tersebut sebagai printf (nama buku1.);
Rujuk program di bawah dengan kesatuan.
Gambar 02: Program C menggunakan kesatuan
Mengikut program di atas, Buku adalah kesatuan. Buku1 adalah pemboleh ubah jenis persatuan. Nama dan harga diberikan nilai. Dalam kesatuan, hanya salah satu anggotanya yang dapat diakses pada satu masa dan semua anggota lain akan mempunyai nilai sampah. Nilai id tidak dicetak dengan betul tetapi nilai harga mencetak dengan betul.
Gambar 03: Program C yang diubah suai dengan kesatuan
Mengikut program di atas, Buku adalah kesatuan. Book1 dan book2 adalah pemboleh ubah jenis persatuan. Pertama, nilai untuk nama buku1 diberikan dan dicetak. Kemudian nilai untuk nama buku2 diberikan dan ia dicetak. Semua anggota mencetak dengan betul kerana satu anggota digunakan pada satu masa. Memori yang diperlukan untuk menyimpan kesatuan adalah memori yang diperlukan untuk unsur kesatuan yang terbesar. Dalam program di atas, pemboleh ubah nama adalah 20 bait. Ia lebih besar dari harganya. Jadi, peruntukan memori untuk kesatuan adalah 20 bait.
Apakah Persamaan Antara Struktur dan Kesatuan di C?
- Kedua-dua Struktur dan Kesatuan dalam C adalah jenis data yang ditentukan pengguna.
- Struktur dan Kesatuan dalam C dapat digunakan untuk menyimpan pelbagai jenis data di lokasi memori yang sama.
Apakah Perbezaan Antara Struktur dan Kesatuan di C?
Artikel Diff Tengah sebelum Jadual
Struktur vs Kesatuan di C |
|
Struktur adalah jenis data yang ditentukan pengguna dalam bahasa C yang memungkinkan menggabungkan data dari pelbagai jenis bersama-sama. | Union adalah jenis data yang ditentukan pengguna dalam bahasa C yang membolehkan menggabungkan data dari pelbagai jenis bersama-sama. |
Kebolehcapaian | |
Dalam struktur, semua anggotanya dapat diakses setiap saat. | Dalam kesatuan, hanya salah satu anggotanya yang dapat diakses dalam satu masa dan semua anggota lain akan mengandungi nilai sampah. |
Peruntukan Ingatan | |
Memori yang diperlukan untuk menyimpan pemboleh ubah struktur adalah penjumlahan ukuran memori semua anggota. | Memori yang diperlukan untuk menyimpan pembolehubah kesatuan adalah memori yang diperlukan untuk elemen terbesar dalam kesatuan. |
Kata kunci | |
Kata kunci yang digunakan untuk menentukan struktur adalah 'struct'. | Kata kunci yang digunakan untuk menentukan kesatuan adalah 'kesatuan'. |
Ringkasan - Struktur vs Kesatuan di C
Array digunakan untuk menyimpan elemen data dari jenis yang sama. Kadang-kadang perlu menyimpan elemen data dari pelbagai jenis di lokasi memori yang sama. Bahasa pengaturcaraan C menyediakan struktur dan kesatuan untuk menyelesaikan tugas ini. Kedua-duanya adalah jenis data yang ditentukan pengguna. Memori yang diperlukan untuk menyimpan pemboleh ubah struktur adalah penjumlahan ukuran memori semua anggota. Memori yang diperlukan untuk menyimpan pembolehubah kesatuan adalah memori yang diperlukan untuk elemen terbesar dalam kesatuan. Inilah perbezaan antara struktur dan kesatuan di C.