Structures and Unions & Memory Allocation
Structure
Struktur adalah tipe data untuk menyimpan sekelompok data dengan berbagai tipe data.Komponen struktur disebut anggota / elemen. Struktur bersift heterogen (berbagai tipe jenis data ) .Struktur dalam bahasa pemrograman lain juga disebut record.
Structure Declaration
struct name_structure {
dataType1 name_field1;
dataType2 name_field2;
…
};
bisa juga dengan menggunakan
struct name_structure {
dataType1 name_field1;
dataType2 name_field2;
…
} name_variable_structure ;
Nested Structure
Nested Structure adalah struktur yang salah satu elemennya merupakan struktur lain, struktur sebagai suatu anggota harus di deklarasikan dahulu.
Structure Initialization
syntax yang digunakan adalah:
struct
struct_name variable =
{value_1, …, value_m};
Array Of Structure
Tipe data struktur hanya dapat berisi satu catatan. Dalam dunia nyata , membutuhkan sekelompok record. Dalam prakteknya, struktur biasanya digunakan bersama dengan array.
Typedef
Typedef adalah semuah nama lain(alias) berfungsi untuk menamakan pendek , terutama untuk identifier lama . Typedef biasa digunakan untuk dalam struktur
contoh:
typedef struct BinusStudent{
char name[20];
int
nim;
float gpa;
}Mhs;
Bit Field
Bitfield adalah sebuah struct dengan masing masing elemen menetapkan dengan jumlah tertentu. syntax yang digunakan adalah :
struct
name{
type
field1: numberof_bit
…...
};
bitfiled ini hanya daoat digunakan untuk integer , signed integer , dan unsigned integer.
UNION
Union digunakan untuk menggabungkan dengan memori. Dengan menggunakan union, lokasi memori dapat ditetapkan untuk dua atau lebih variabel dengan tipe data yang berbeda kapasitas memori yang digunakan adalah kapasitas terbesar yang digunakan oleh setiap elemen dari union.
Syntax yang digunakan adalah :
union name_union {
typedata1 name_var1;
typedata2 name_var2;
……
}nama_var_union;
Syntax yang digunakan untuk mendeklarasikan union:
union name_union name_var_union;
Alokasi Memori
Mengalokasikan memori membutuhkan ruang memori (RAM) yang diolah oleh Operating System(OS) agar dapat digunakan oleh programmer.
De-alokasi memori melepaskan ruang memori (RAM) kembali ke OS
1.Static
a.Disimpan dalam local stack memory
b.Dapat ditetapkan dengan nama
c.Tidak dialokasikan saat program berakhir
d.Dapat dialokasikan saat waktu kompilasi
2.Dynamic
a.Dapat dialokasikan saat run time
b.disimpan dalam Heap memory
c.Dapat dialokasikan kapan saja
Comments
Post a Comment