PERHATIAN : Penulis Sekedar Berbagi Pengetahuan melalui tulisan ini. Kiranya bermanfaat Silahkan diBagikan, Namun Harus menyertakan Link sumber
Kunjungi Channel : = > YOUTUBE(Video Menarik), Jangan Lupa Subscribe/Langganan Untuk mendapatkan Video Menarik dan bermanfaat
Kunjungi Channel : = > YOUTUBE(Video Menarik), Jangan Lupa Subscribe/Langganan Untuk mendapatkan Video Menarik dan bermanfaat
10.1 Union
Pada C, union memungkinkan suatu lokasi memori ditempati
oleh dua atau lebih variabel yang bisa saja tipenya berlainan. Di bawah ini diberikan contoh pendefinisian
tipe union yang dinamakan sebagai bil_bulat, yang digunakan untuk
menyatakan data bertipe karakter atau integer.
union
bil_bulat {
unsigned int di;
unsigned char dc[2];
};
Berikutnya,
pendeklarasian suatu variabel union bernama bil_x yang bertipe bil_bulat dilakukan dengan cara penulisan sebagai berikut
union
bil_bulat bil_x;
Catatan : Cara lain untuk mendefinisikan atau mendeklarasikan union adalah
seperti pada struktur.
Dalam hal ini, kompiler dengan bijaksana akan menyediakan ruangan
yang cukup untuk menampung field atau elemen pada union yang membutuhkan
memori paling besar. Pada pendeklarasian
variabel bil_x misalnya, memori yang ditempati variabel ini adalah 2
byte (yaitu ukuran dari tipe int). Seandainya tipe elemen dalam union berupa float,
int dan char, memori yang dibutuhkan adalah sebesar ukuran float.
Elemen dari sebuah union dapat diakses dalam bentuk sebagai berikut
:
|
misal : bil_x.di
= 321;
adalah contoh untuk mengisikan 321 ke elemen union bernama di. Dengan pengisian nilai ini, maka dc[0] akan
bernilai byte ke-0 dari di, sedangkan dc[1] bernilai byte ke-1 dari di.
/* File program : union1.c
Contoh pendeklarasian dan pengaksesan
variabel union */
#include <stdio.h>
main()
{
union
{
unsigned
int di;
unsigned
char dc[2];
}
bil_x; /* variabel union */
bil_x.di
= 321;
printf("di
= %d dc[0] = %d dc[1] = %d\n", bil_x.di,
bil_x.dc[0], bil_x.dc[1]);
}
Contoh
eksekusi :
0 Komentar untuk "BAB X DATA TINGKAT LANJUT"