Page 197 - Project Akhir Media Pendidikan
P. 197
Untuk membuktikan hal tersebut, Anda dapat menuliskan program lengkap di bawah
ini.
#include <stdio.h>
#include <string.h>
typedef struct {
char NIM[8];
char nama[25];
char alamat[40];
} SISWA;
int main(void) {
SISWA S, *P;
P = (SISWA *) malloc(sizeof(SISWA));
P = &S;
strcpy(S.NIM, “D0D99021”);
strcpy(S.nama, “Arista Destriana”);
strcpy(S.alamat, “Jl. Kopo 46, Bandung”);
printf(“NIM \t: %.8s\n”, P->NIM);
printf(“Nama \t: %.25s\n”, P->nama);
printf(“Alamat \t: %.45s\n”, P->alamat);
free(P);
return 0;
}
Hasil dari program di atas adalah sebagai berikut.
NIM : D0D99021
Nama : Arista Destriana
Alamat: Jl. Kopo 46, Bandung
8.7. Union
Union sebenarnya adalah suatu struktur dan cara kerjanya pun sama dengan sebuah struktur.
Namun perbedaannya hanya terletak pada ruang memori yang dialokasikan untuk setiap
field-nya. Pada struktur setiap field-nya mempunyai ruang memori tersendiri sedangkan
pada union semua field-nya mengacu ke satu buah alamat yang sama. Begitu juga dengan
ukuran memorinya, pada struktur setiap field memiliki ukuran memori tersendiri
sedangkan pada union ukuran yang ada akan dipakai oleh semua field yang terdapat di
dalamnya, tentunya secara bergantian. Untuk mendefinisikan suatu union, kita harus
menambahkan kata kunci union di depan nama union yang akan dedefinisikan tersebut.
Berikut ini bentuk umumnya.
193