Page 182 - Project Akhir Media Pendidikan
P. 182
data int. Proses tersebut akan ditentukan secara otomatis oleh kompiler melalui operator
sizeof dengan cara mengambil nilai yang sesuai dengan banyak dan tipe data dari
field yang terdapat dalam struktur.
Untuk membuktikan hal tersebut, Anda dapat menuliskan program berikut.
#include <stdio.h>
struct STRUKTUR1 {
char a;
char b;
};
struct STRUKTUR2 {
char a;
int b;
};
int main(void) {
/* Mendeklarasikan variabel S1 bertipe STRUKTUR1 */
struct STRUKTUR1 S1;
/* Mendeklarasikan variabel S2 bertipe STRUKTUR2 */
struct STRUKTUR2 S2;
/* Menampilkan ukuran dari S1 dan S2 */
printf("sizeof(S1) = %d\n", sizeof(S1));
printf("sizeof(S2) = %d\n", sizeof(S2));
return 0;
}
Hasil yang akan diberikan adalah sebagai berikut.
sizeof(S1) = 2
sizeof(S2) = 8
8.2.4. Mendefinisikan Struktur yang Berisi Struktur Lain
Seperti yang telah disinggung sebelumnya bahwa struktur adalah kumpulan variabel
yang dapat terdiri dari berbagai tipe data, bahkan tipe struktur sekalipun. Dengan kata
lain, bahasa C mengizinkan kita untuk membuat sebuah struktur dimana anggota atau
field dari struktur tersebut juga bertipe struktur.
Sebagai contoh untuk menunjukkan hal ini, di sini kita akan membuat struktur dengan
nama SEGIEMPAT dimana yang terdiri dari dua buah titik bertipe TITIK. Ingatlah
bahwa sebuah segiempat dapat terbentuk hanya dengan menentukan dua titik yang
berada di sudut kiri bawah dan sudut kanan atas saja. Perhatikan gambar di bawah ini.
178