Page 198 - Project Akhir Media Pendidikan
P. 198
union nama_struktur {
tipe_data field1;
tipe_data field2;
...
} var1, var2, ...; /* ingat tanda titik koma */
Agar Anda dapat lebih memahami perbedaan yang terdapat antara union dan struktur,
coba Anda perhatikan contoh program berikut dimana akan ditunjukkan bahwa setiap
field dari union akan mengacu ke alamat yang sama.
#include <stdio.h>
/* Mendefinisikan sebuah struktur */
struct STRUKTUR {
int x;
char y;
} S;
/* Mendefinisikan sebuah union */
union UNION {
int x;
char y;
} U;
/* Fungsi utama */
int main(void) {
/* Menampilkan alamat dari field x dan y yang terdapat dalam
struktur S */
printf(“Pada Struktur S:\n”);
printf(“Alamat x \t\t: %p\n”, &(S.x));
printf(“Alamat y \t\t: %p\n”, &(S.y));
printf(“Ukuran struktur \t: %d byte\n”, sizeof(S));
/* Menampilkan alamat dari field x dan y yang terdapat dalam
union U */
printf(“Pada Union U:\n”);
printf(“Alamat x \t\t: %p\n”, &(U.x));
printf(“Alamat y \t\t: %p\n”, &(U.y));
printf(“Ukuran union \t\t: %d byte\n”, sizeof(U));
return 0;
}
Hasil yang akan diperoleh dari program di atas adalah sebagai berikut.
Pada Struktur S:
194