Jumat, 18 November 2011

C++ Lanjutan 27

8.2 UNION

Union menyerupai struktur, namun mempunyai perbedaan yang nyata. Union biasa dipakai untuk menyatakan suatu memori dengan nama lebih dari satu. Sebagai gambaran, sebuah union dideklarasikan sebagai berikut :

      union bila_bulat
      {
         unsigned int di;
        unsigned char dc[2];
      }

Pada pendeklarasian seperti ini, di dan dc menempati memori yang sama. Untuk lebih jelasnya, perhatikan contoh berikut :

Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
    union bil_bulat
    {
       unsigned int di;
       unsigned char dc[2];
    };


    bil_bulat bil;
    bil.di = 0x2345;
    cout<<setiosflags(ios::showbase);
    cout<<hex<<”di      : “<<bil.di<<endl;
    cout<<hex<<”dc[0] : “<<bil.dc[0]<<endl;
      cout<<hex<<”dc[1] : “<<bil.dc[1]<<endl;
    }

Keluarannya :
di      : 0x2345
dc[0] : 0x45
dc[1] : 0x23

Keterangan :
setiosflags(ios::showbase) mengembalikan basis hitung yang digunakan. Hex membuat basis hitung menjadi heksadesimal.

Tidak ada komentar:

Posting Komentar