Anda di halaman 1dari 3

Struct dan Union

Struct
Struct merupakan struktur data yang memperbolehkan tipe data berbeda berkumpul dalam lokasi yang berdekatan. Berikut ini gambar cara pendeklarasian struct:

contoh:

struct pec { // pecahan int pb; // pembilang int py; // penyebut }; // atau typedef struct { } pec; tidak perlu menuliskan struct ketika deklarasi variabel void pec_print printf #d / } void pec_print printf #d / } const pec !p" { // atas #d$n%p&'pb% !p"(py"; const pec) p" { // ba*ah #d$n%p(pb%p(py";

int main " { pec p+% !p,; // atau struct pec p+% !p,; p+(pb - +; p, - )p+; p,&'py - ,; // setara dengan !p,"(py - , atau p+(py - , pec_print )p+"; pec_print p,"; pec_print p+"; // ba*ah return .; }
Di dalam deklarasi struct boleh terdapat struct lain, pointer ataupun array. Pada file header stddef.h terdapat fungsi offsetof(struct,member) yang berguna untuk mencari jumlah byte dari a al struct menuju ke !ariabel member. Pada bahasa "## kita tidak perlu menuliskan $struct$ atau melakukan typedef ketika mendeklarasikan !ariabel, contoh:

struct mhs { int umur;

char nama/,.0; }; int main mhs a% a(umur strcpy "{ !b% c/,0; - +1; a(nama%2te3o2";

b - ne* mhs/+.0; b/.0&'umur - +4; strcpy b/.0&'nama%2surti2"; b/+0&'umur - ,4; strcpy b/+0&'nama%2susi2"; delete/0 b; b - ne* mhs; !b"(umur - +4; strcpy !b"(nama%2surti2"; delete b; c/.0(umur - +5; strcpy c/.0(nama%2par3o2"; }

Union
%nion merupakan gabungan beberapa tipe data menjadi & tipe data baru, cara deklarasi dan pemakaiannya sama seperti Struct, tetapi hanya member yang terakhir ditulis yang sebaiknya diakses, contoh:

union 6ata { int i; float f; char str/,.0; }; int main " { 6ata d% !p; // atau union 6ata d% !p; d(i - +.; printf 2d(i 7 #d$n2% d(i"; d(f - ,,.(8; printf 2d(f 7 #f$n2% d(f"; strcpy d(str% 23angan akses i dan f2"; printf 2d(str 7 #s$n2% d(str"; p - )d; p&'i - +8; printf 2p&'i 7 #d$n2% p&'i"; return .; }
Sama seperti struct, di dalam union boleh terdapat struct dan pointer, dan sebaliknya. Sama seperti struct, pada bahasa "## tidak perlu menuliskan key ord union pada pendeklarasian !ariabel. %ntuk mengetahui jenis tipe data yang terisi terakhir, umumnya union dideklarasikan di dalam sebuah struct, didahului dengan !ariabel yang menyimpan tipe data yang terakhir disimpan oleh union.

PR 1
kis ono.prayogo'surya.ac.id Subject: P()* P+)& ,ama, ,ama, ,ama Ber)-, harus ada makhluk . atau B &. Buatlah program untuk menghitung operasi)operasi pecahan (penjumlahan, pengurangan, perkalian, pembagian), menampilkan format pecahan campuran, sekaligus menyederhanakan pecahan dari parameter program. "ontoh:

./pecahan.e0e 3&/&2 1.4--./pecahan.e0e &&*/&2 4.4--./pecahan.e0e )&/1 )5.2 ./pecahan.e0e &/1 5.2

& 1/2 # 3/-

3 1/&2 # 1 -/2

1/- ) 4/*

1/- 6 7

Anda mungkin juga menyukai