Page 194 - PEMROGRAMAN DASAR MENGGUNAKAN C
P. 194
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.