Page 181 - Project Akhir Media Pendidikan
P. 181
#include <stdio.h>
struct TANGGAL {
char *tanggal;
char *bulan;
char *tahun;
} tgl_lahir = {"21","03","1978"};
int main(void) {
printf("Tanggal lahir : %s-%s-%s",
tgl_lahir.tanggal,
tgl_lahir.bulan,
tgl_lahir.tahun);
return 0;
}
8.2.3. Ukuran Struktur dalam Memori
Hal yang perlu diketahui oleh para programmer dalam bekerja dengan struktur adalah
masalah ruang (ukuran) memori yang dibutuhkan untuk mendefinisikan sebuah struktur.
Ukuran memori yang dibutuhkan tentunya berbeda-beda tergantung dari tipe data dan
banyaknya field yang terdapat dalam struktur yang bersangkutan. Kita dapat
mendapatkan ukuran dari sebuah struktur dengan menggunakan kata kunci sizeof.
Perhatikan pendefinisan struktur di bawah ini.
struct STRUKTUR1 {
char a;
char b;
};
Kita tahu bahwa ukuran dari tipe data char adalah 1 byte, maka tipe dari struktur
STRUKTUR1 di atas adalah 2 byte, karena di dalamnya terdapat pendeklarasian dua buah
variabel yang bertipe char. Namun perhatikan kembali pendefinisan struktur di bawah ini.
struct STRUKTUR2 {
int a;
char b;
};
Ukuran dari struktur STRUKTUR2 di atas bukan 5 byte (tipe int 4 byte ditambah tipe char
1 byte), melainkan 8 byte (tipe int 4 byte dikali 2). Hal ini disebabkan oleh adanya
proses perentangan (alignment) terhadap tipe data char yang disesuaikan dengan tipe
177