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 Persatuan
Sintaks Struktur Deklarasi
Contoh Struktur dalam Pemrograman C
Sintaks Deklarasi Serikat
Contoh Union dalam Pemrograman C
Struktur Vs. Serikat
Kelebihan struktur
Keuntungan persatuan
Kekurangan struktur
Kerugian serikat pekerja
Apa itu Persatuan
Union adalah tipe data yang ditentukan pengguna, sama seperti struktur. Union menggabungkan objek dari berbagai jenis dan ukuran bersama-sama. Variabel union mengalokasikan ruang memori yang sama dengan ruang untuk menampung variabel union 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 dari struktur. Bagian tubuh diakhiri dengan titik koma (;).
Contoh Struktur dalam Pemrograman C
#include <stdio.h>
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 (bilangan bulat), 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 daftar siswa:21
Masukkan nilai siswa:67
Informasi yang Anda masukkan adalah:
Nama siswa:John
Nomor rol siswa:21
Nilai siswa:67.0
Sintaks Deklarasi Serikat
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 individu serikat pekerja. Bagian tubuh diakhiri dengan titik koma (;).
Contoh Penyatuan dalam Pemrograman C
#include <stdio.h>
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 kesatuan, 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 terakhir disimpan, sehingga nilai variabel lainnya hilang.
Struktur Vs. Serikat
Inilah perbedaan penting antara struktur dan kesatuan:
StrukturPersatuan Anda dapat menggunakan kata kunci struct untuk mendefinisikan struktur. Anda dapat menggunakan kata kunci union untuk mendefinisikan union. Setiap anggota dalam struktur diberi lokasi memori yang unik. Dalam union, lokasi memori dibagikan oleh semua anggota data. Mengubah nilai dari satu anggota data tidak akan mempengaruhi anggota data lainnya dalam struktur. Mengubah nilai 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 dari serikat pekerja. 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 dalam. Ini menempati ruang untuk anggota yang memiliki ukuran tertinggi yang ditulis dalam parameter dalam. Anda dapat mengambil anggota mana pun pada suatu waktu. Anda dapat akses satu anggota er pada suatu waktu di serikat.Ini mendukung array fleksibel.Itu tidak mendukung array fleksibel.
Keuntungan struktur
Berikut adalah kelebihan/keuntungan menggunakan struktur:
Struktur mengumpulkan lebih dari satu bagian data tentang subjek yang sama di tempat yang sama.
Sangat membantu jika Anda ingin mengumpulkan data dengan tipe dan parameter data yang serupa seperti nama depan, nama belakang, dll.
Sangat mudah untuk memeliharanya karena kami dapat mewakili seluruh catatan dengan menggunakan satu nama.
Dalam struktur, kita dapat meneruskan kumpulan record lengkap ke fungsi apa pun menggunakan parameter tunggal.
Anda dapat menggunakan struktur array untuk menyimpan lebih banyak record dengan tipe yang sama.
Keuntungan serikat
Berikut adalah kelebihan/keuntungan menggunakan union:
Ini menempati lebih sedikit memori dibandingkan dengan struktur.
Saat Anda menggunakan union, hanya variabel terakhir yang dapat langsung diakses.
Union digunakan saat Anda harus menggunakan lokasi memori yang sama untuk dua atau lebih anggota data.
Ini memungkinkan Anda menyimpan data hanya dari satu anggota data.
Ruang yang dialokasikan sama dengan ukuran maksimum anggota data.
Kekurangan struktur
Berikut adalah kontra/kekurangan untuk menggunakan struktur:
Jika kompleksitas proyek TI melampaui batas, maka akan sulit untuk dikelola.
Perubahan satu struktur data dalam sebuah kode memerlukan perubahan di banyak tempat lainnya. Oleh karena itu, perubahan menjadi sulit dilacak.
Struktur lebih lambat karena membutuhkan ruang penyimpanan untuk semua data.
Anda dapat mengambil anggota pada satu waktu dalam struktur sedangkan Anda dapat mengakses satu anggota pada satu waktu di serikat.
Struktur menempati ruang untuk setiap anggota yang ditulis dalam parameter dalam sedangkan serikat menempati ruang untuk anggota yang memiliki ukuran tertinggi ditulis dalam parameter dalam.
Struktur mendukung array fleksibel. Union tidak mendukung array fleksibel.
Kerugian serikat pekerja
Berikut adalah kontra/kekurangan untuk menggunakan union:
Anda hanya dapat menggunakan satu anggota serikat pekerja dalam satu waktu.
Semua variabel gabungan tidak dapat diinisialisasi atau digunakan dengan nilai yang bervariasi pada satu waktu.
Union menetapkan satu ruang penyimpanan umum untuk semua anggotanya.
PERBEDAAN UTAMA:
Setiap anggota dalam struktur diberi lokasi memori yang unik, sedangkan dalam kesatuan lokasi memori dibagikan oleh semua anggota data.
Mengubah nilai satu anggota data tidak akan mempengaruhi anggota data lainnya dalam struktur sedangkan mengubah nilai 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.
Dalam struktur, Anda dapat mengambil setiap anggota pada satu waktu di sisi lain dalam serikat, Anda dapat mengakses satu anggota pada satu waktu.
Struktur mendukung array fleksibel sedangkan union tidak mendukung array fleksibel.