Perbezaan antara struktur dan kesatuan dalam c

Perbezaan antara struktur dan kesatuan dalam c

Perbezaan utama - Struktur vs Kesatuan dalam c
 

Arahan adalah data berstruktur yang disokong oleh bahasa c. Arahan boleh digunakan untuk menyimpan elemen data dengan jenis yang sama. Sekiranya terdapat pernyataan sebagai tanda int [10]; maka tanda adalah array yang dapat menyimpan sepuluh markah dan semuanya adalah bilangan bulat. Kadang -kadang diperlukan elemen data menyimpan pelbagai jenis di lokasi memori yang sama. Sebagai contoh, pekerja boleh mempunyai ID pekerja, nama, jabatan, umur dll. Mereka mempunyai jenis data yang berbeza. Oleh itu, perlu mempunyai kaedah untuk menyimpan pelbagai elemen data sebagai satu unit. Struktur dan Kesatuan di C digunakan untuk menyimpan elemen data dari pelbagai jenis di lokasi memori yang sama.Struktur dan kesatuan adalah serupa tetapi mereka membezakannya kerana peruntukan ingatan. Memori yang diperlukan untuk menyimpan pembolehubah struktur adalah penjumlahan saiz memori semua ahli. Memori yang diperlukan untuk menyimpan pemboleh ubah kesatuan adalah memori yang diperlukan untuk elemen terbesar dalam kesatuan. Itu dia perbezaan utama antara struktur dan kesatuan dalam c. Artikel ini membincangkan perbezaan antara struktur dan kesatuan dalam c.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah struktur dalam c
3. Apa itu kesatuan dalam c
4. Persamaan antara struktur dan kesatuan dalam c
5. Perbandingan sampingan - Struktur vs kesatuan dalam C dalam bentuk jadual
6. Ringkasan

Apakah struktur dalam c?

Struktur adalah jenis data yang ditentukan pengguna dalam c. Ia membantu menggabungkan item data yang berbeza. 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 boleh padat ke dalam satu unit menggunakan struktur. Ia ditakrifkan menggunakan kata kunci 'struct'. Dalam struktur, semua anggotanya boleh diakses pada bila -bila masa.Berikut ini mewujudkan pelajar struct jenis data yang diperolehi.

Struktur Pelajar

intstudent_id;

char student_name [20];

;

Untuk struktur di atas, pembolehubah boleh diisytiharkan seperti berikut.

Struct Student Student1, Student2, Student3;

Terdapat dua kaedah untuk mengakses ahli struktur. Itu dengan menggunakan pengendali ahli (.) dan pengendali penunjuk struktur (->). Ahli boleh diakses menggunakan struktur_variable_name. nama ahli. Jika pengaturcara ingin mengakses nama pelajar 2, maka dia boleh menulis pernyataan sebagai printf (pelajar2.student_namename);

Rujuk program di bawah dengan struktur.

Rajah 01: Program C dengan struktur

Menurut program di atas, pelajar adalah struktur. Ia mengandungi student_id dan student_name. Dua pembolehubah jenis struktur diisytiharkan dalam program utama. Mereka dipanggil pelajar1 dan pelajar2. ID Pelajar1 ditugaskan dengan nilai 1 menggunakan pengendali ahli sebagai pelajar1.student_id = 1. Nama "Ann" adalah rentetan. Oleh itu, ia disalin kepada ahli student_name menggunakan fungsi salinan rentetan strcpy. ID dan nama diberikan kepada Student2 dengan cara yang sama. Akhirnya, nilai -nilai tersebut dicetak menggunakan pengendali ahli.

Jumlah memori yang diperlukan untuk menyimpan pemboleh ubah struktur adalah jumlah saiz memori semua ahli. Pelajar_ID mengandungi 4 bait dan pelajar_name mengandungi 20 bait (satu byte masing -masing untuk watak). Jumlah 24 bait adalah jumlah saiz memori yang diperlukan oleh struktur.

Apa itu kesatuan dalam c?

Kesatuan adalah jenis data yang ditentukan pengguna dalam c. Ia membantu menyimpan jenis data yang berbeza di lokasi memori yang sama. Buku boleh mempunyai sifat seperti book_name, harga dll. Daripada membuat pembolehubah bagi setiap daripada mereka, kesatuan boleh digunakan untuk memadatkan semua jenis data yang berbeza ke dalam satu unit menggunakan kesatuan. Ia ditakrifkan menggunakan kata kunci 'kesatuan'.Berikut ini mewujudkan buku kesatuan data yang diperolehi.

UnionBook

Nama char [20];

harga berganda;

;

Untuk kesatuan di atas, pembolehubah boleh diisytiharkan seperti berikut.

Union Book Book1, Book2;

Terdapat dua kaedah untuk mengakses ahli Kesatuan. Itu dengan menggunakan pengendali ahli (.) dan pengendali penunjuk struktur (->). Ahli boleh diakses menggunakan Union_variable_name. nama ahli. Sekiranya pengaturcara ingin mengakses nama buku1, maka dia boleh menulis pernyataan sebagai printf (Book1.nama);

Rujuk program di bawah dengan kesatuan.

Rajah 02: Program C Menggunakan Kesatuan

Menurut program di atas, buku itu adalah kesatuan. The Book1 adalah pemboleh ubah jenis kesatuan. Nama dan harga diberikan nilai. Di Kesatuan, hanya salah satu anggotanya yang boleh diakses pada satu masa dan semua ahli lain akan mempunyai nilai sampah. Nilai ID tidak dicetak dengan betul tetapi nilai harga dicetak dengan betul.

Rajah 03: Program C Modified dengan Kesatuan

Menurut program di atas, buku adalah kesatuan. Book1 dan Book2 adalah pembolehubah jenis kesatuan. Pertama, Nilai untuk Buku1 Nama diberikan dan ia dicetak. Kemudian nilai untuk nama Book2 diberikan dan ia dicetak. Semua ahli mencetak dengan betul kerana satu ahli digunakan pada satu masa.  Memori yang diperlukan untuk menyimpan kesatuan adalah memori yang diperlukan untuk elemen terbesar kesatuan.  Dalam program di atas, pemboleh ubah nama ialah 20 bait. Lebih besar daripada harga. Oleh itu, peruntukan memori untuk kesatuan adalah 20 bait.

Apakah persamaan antara struktur dan kesatuan dalam c?

  • Kedua-dua struktur dan kesatuan di C adalah jenis data yang ditentukan pengguna.
  • Kedua -dua struktur dan kesatuan di C boleh digunakan untuk menyimpan jenis data yang berbeza di lokasi memori yang sama.

Apakah perbezaan antara struktur dan kesatuan dalam c?

Struktur vs kesatuan dalam c

Struktur adalah datatype yang ditentukan pengguna dalam bahasa C yang membolehkan menggabungkan data pelbagai jenis bersama. Kesatuan adalah datatype yang ditentukan oleh pengguna dalam bahasa C yang membolehkan menggabungkan data pelbagai jenis bersama.
 Kebolehcapaian
Dalam struktur, semua anggotanya boleh diakses pada bila -bila masa. Dalam kesatuan, hanya salah satu anggotanya yang dapat diakses pada satu masa dan semua ahli lain akan mengandungi nilai sampah.
Peruntukan memori
Memori yang diperlukan untuk menyimpan pembolehubah struktur adalah penjumlahan saiz memori semua ahli. Memori yang diperlukan untuk menyimpan pemboleh ubah 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 dalam c

Arahan digunakan untuk menyimpan elemen data 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 oleh pengguna. Memori yang diperlukan untuk menyimpan pembolehubah struktur adalah penjumlahan saiz memori semua ahli. Memori yang diperlukan untuk menyimpan pemboleh ubah kesatuan adalah memori yang diperlukan untuk elemen terbesar dalam kesatuan. Ini adalah perbezaan antara struktur dan kesatuan dalam c.

Rujukan:

1.Titik, tutorial. "Struktur dalam C.", Tutorial Titik, 15 Ogos. 2017. Terdapat di sini 
2.Titik, tutorial. "Kesatuan di C." , Tutorial Titik, 15 Ogos. 2017. Terdapat di sini