Logo ms.removalsclassifieds.com

Perbezaan Antara Struktur dan Kesatuan dalam C (Dengan Jadual)

Isi kandungan:

Anonim

Dalam bahasa pengaturcaraan C, terdapat jenis data yang dipratentukan dan jenis data yang ditakrifkan pengguna. Contoh jenis data yang ditentukan pengguna ialah struktur dan kesatuan dalam C.

Dalam Structure and Union, pengguna boleh menentukan jenis data dan fungsi ahli yang berbeza untuk mengakses semua pembolehubah. Walaupun kedua-duanya mengikut sintaks yang sama, terdapat perbezaan yang besar antara mereka.

Struktur vs Kesatuan dalam C

Dalam Structure, jumlah saiz memori sama dengan jumlah saiz semua jenis data dalam struktur. Manakala dalam Kesatuan jumlah saiz ruang memori adalah sama dengan saiz jenis data terbesar dalam kesatuan. Ia adalah salah satu perbezaan yang paling penting antara struktur dan kesatuan.

Sebagai contoh

Kerja Struktur

{

wang int;

Nama Char;

}s1;

Dalam ini saiz memori untuk struct yang diperuntukkan ialah 2+1 =3 bait kerana saiz integer ialah 1 bait dan saiz char ialah 2 bait. Oleh itu saiznya ialah 3 bait.

` kerja kesatuan

{

wang int;

Nama Char;

}s1;

Dalam kesatuan, saiz memori yang diperuntukkan ialah 2 bait kerana saiz maksimum jenis data dalam kesatuan ialah 2 bait iaitu jenis data aksara.

Jadual Perbandingan Antara Struktur dan Kesatuan dalam C (dalam Bentuk Jadual)

Parameter untuk Perbandingan Kesatuan Struktur
Definisi kata kunci Menggunakan kata kunci "kesatuan" Menggunakan Kata Kunci "struct"
Saiz memori Saiz adalah sama dengan unsur saiz terbesar. Saiz sama dengan jumlah semua elemen dalam struktur
Memori Dikongsi Semua memori elemen dikongsi dengan elemen yang berbeza Elemen struktur tidak mempunyai memori bersama.
Akses Elemen Hanya elemen tunggal diakses pada satu masa Sebarang bilangan elemen boleh diakses pada bila-bila masa
Contoh Contoh kesatuan{Data Types and members}obj; contoh struct{Data Types and members}obj;

Apakah Struktur dalam C?

Struktur ialah kumpulan data yang ditentukan pengguna dan merupakan pengumpulan pelbagai jenis data. Contoh berikut akan sangat berguna. Katakan bahawa seorang pengaturcara perlu menyimpan beberapa data seperti pelajar, nama, kelas, alamat dan banyak lagi.

Nah, terdapat dua cara untuk mendekati masalah ini, satu ialah mencipta jenis data yang berbeza dan satu lagi ialah mencipta struktur.

Di sini dalam kes ini, struktur akan berfaedah kerana, jika anda mencipta pembolehubah secara berasingan maka anda perlu mencipta banyak pembolehubah untuk setiap pelajar, dan ia akan menjadi benar-benar malapetaka. Sebaliknya, struktur boleh digunakan lagi dan lagi.

Struktur boleh dibuat dengan menggunakan kata kunci, struct.

Sebagai contoh

Nama_struktur struktur{

Jenis data datatype_name;

Jenis data datatype_name;

Jenis data datatype_name;

Jenis data datatype_name;

};

Jika anda ingin mengakses mana-mana ahli data, anda perlu mencipta objek seperti

Nama_struktur struktur nama_objek;

Dengan sintaks object_name.datatype_name anda akan dapat mengakses jenis data dalam struktur.

Apakah Kesatuan dalam C?

Sama seperti kesatuan struktur adalah satu lagi jenis data yang ditentukan pengguna dalam bahasa pengaturcaraan C. Setiap kali pengaturcara mentakrifkan kesatuan, jenis data yang ditentukan pengguna dibuat, tetapi tiada lokasi memori.

Nah, jika anda ingin memperuntukkan memori maka seseorang perlu mencipta pembolehubah dalam kesatuan. Union mempunyai sifat yang tidak membenarkan mana-mana pengaturcara mengakses jenis data lebih daripada satu.

Oleh itu, dalam kesatuan seorang pengaturcara boleh mengakses satu ahli data pada satu masa. Mari kita ambil contoh kecil.

Union union_name

{

Data_type Datatype_name;

Data_type Datatype_name;

Data_type Datatype_name;

Data_type Datatype_name;

};

Dalam contoh di atas, struktur asas kesatuan dipaparkan. Ia adalah cara pengaturcara mencipta kesatuan. Jika anda ingin mengakses sebarang jenis data dalam kesatuan, anda perlu menggunakannya. operator serupa dengan struktur.

Union union_name objname; Dengan pernyataan di atas anda boleh mencipta objek yang akan membantu anda mengakses mana-mana ahli data dalam kesatuan menggunakan pengendali titik.

Perbezaan Utama Antara Struktur dan Kesatuan dalam C

  1. Struktur ialah jenis data yang ditakrifkan pengguna yang menyimpan jenis data pelbagai jenis. Juga, ia digunakan untuk mewakili koleksi nilai jenis data. Jika pengaturcara perlu mentakrifkan kesatuan, maka pengaturcara perlu menggunakan struct kata kunci. Manakala kesatuan memerlukan, kata kunci kesatuan untuk definisi.
  2. Dalam struktur, semua jenis data disimpan di lokasi yang berbeza dan anda boleh mengakses berbilang ahli data. Manakala dalam kesatuan semua ahli data berkongsi lokasi memori yang sama dan hanya satu ahli data boleh diakses pada satu masa.
  3. Dalam struktur, untuk memulakan mana-mana ahli, beberapa ahli boleh dimulakan pada satu masa, tetapi dalam kes kesatuan, hanya ahli pertama boleh dimulakan.
  4. Jumlah saiz struktur bergantung pada jumlah saiz semua ahli data, manakala dalam kes kesatuan, saiznya adalah sama dengan ahli data yang saiznya paling besar antara semua.
  5. Dalam struktur, setiap jenis data mempunyai peruntukan memori yang berbeza, manakala dalam kesatuan, terdapat satu memori yang diperuntukkan untuk ahli data saiz terbesar.

Kesimpulan

Struktur dan kesatuan adalah kedua-dua jenis data yang ditentukan pengguna yang digunakan dalam pengaturcaraan c. Struktur dan Kesatuan berkongsi konsep yang sama untuk menyimpan berbilang jenis data. Dan semua jenis data dalam struktur dan kesatuan diakses dengan pengendali titik.

Struktur dan kesatuan hanya berbeza dari segi saiz dan peruntukan memori, tetapi kes penggunaannya adalah sama. Kedua-duanya meningkatkan kebolehgunaan semula kod dan banyak lagi. Jika anda ingin menyimpan banyak nilai untuk satu jenis data, struktur dan kesatuan akan berguna.

Kes penggunaan asas struktur dan kesatuan adalah apabila anda perlu menyimpan rekod pekerja. Struktur atau kesatuan akan menyimpan semua data dalam struktur atau kesatuan, dan kemudian anda boleh menyimpan atau mengakses data tersebut. Perbezaan utama adalah mengenai peruntukan memori dan akses jenis data.

Perbezaan Antara Struktur dan Kesatuan dalam C (Dengan Jadual)