Structure and Memory Allocation
Salam Programmers!
Kali ini saya akan membahas mengenai structure dan juga
fungsi dari Memory Allocation.
Structure
Structure merupakan fungsi yang dapat digunakan untuk
mengumpulkan atau menyatukan beberapa tipe data yang berbeda menjadi satu
kesatuan. Structure mirip dengan array namun, array hanya bisa memasukkan satu
tipe data saja sedangkan structure dapat menyimpan tipe data yang berbeda. Berikut
syntax dari structure :
#include<stdio.h>
struct mahasiswa{
char
nama[50]; //disebut dengan nama field
char
NIM[20]; //disebut dengan nama field
int umur;
//disebut dengan nama field
};
int main(){
return 0;
}
Struct dibuat di luar int main dan umumnya diletakkan di atas
int main agar ketika kita memanggil struct tersebut di dalam int main dapat
dikenali. Ini juga berhubungan dengan sifat scoping. Cara memanggil struct
adalah kita harus membuat variabel terlebih dahulu sebagai bagian dari struct. Kita
dapat mengandaikan bahwa struct adalah sebuah template, dan kita harus membuat
variabel baru sebagai tempat yang dapat diisikan data namun memiliki struktur
yang sama dengan structnya. Cara membuatnya adalah sebagai berikut :
Int main(){
struct mahasiswa
x;
return 0;
}
Format penulisannya adalah “struct (nama struct) (nama
variabel yang kita inginkan)”. X merupakan nama variabel biasa jadi kita bisa
menggantinya dengan apa saja. Setelah itu, di dalam variabel x terkandung nilai
yang bercabang-cabang yang disebut field
sesuai dengan struct mahasiswa yang telah kita buat. Cara kita untuk memasukkan
data-datanya ke dalam tempat yang sesuai adalah sebagai berikut :
x.nama = “Budi”;
x.NIM = “22012232132”;
x.umur = 18;
maka secara otomatis data tersebut akan masuk sesuai dengan
fieldnya masing-masing. Data tersebut juga dapat diisi melalui inputan user
menggunakan scanf dan disimpan dengan cara yang sama juga seperti kodingan di
atas yaitu dengan format :
(nama variabel struct).(nama field yang dituju)
Selain itu, struct juga dapat dibentuk menjadi sebuah array
sehingga dapat menampung lebih banyak lagi data. Formatnya adalah sebagai
berikut:
struct mahasiswa x[50];
Dengan begitu, maka kita dapat menampung semua field sebanyak
array yang telah kita tentukan tersebut. Formatnya pun juga sama hanya perlu
ditambahkan kurung saja setelah “x”. berikut contoh inputannya :
X[1].NIM = “22012232132”;
X[1].umur = 18;
Maka data-data tersebut akan masuk ke array 1. Selain itu,
structure juga mempunyai nested structure seperti nested if yang di mana di
dalam struct terdapat struct. Kalian dapat memvariasikan sendiri untuk
mengambil inputan dari user menggunakan for dan sebagainya.
Memory Allocation(malloc)
Memory allocation merupakan cara di mana kita bisa membooking
jumlah memory yang akan kita gunakan untuk keperluan kita. Tujuannya adalah
agar tidak ada memory yang terbuang sia-sia atau ketika kita sedang input data
tidak ada data yang kepenuhan dan sebagainya. Berikut syntax untuk malloc :
Int main(){
struct mahasiswa *x = (struct mahasiswa*)
malloc(sizeof(struct mahasiswa));
return 0;
}
Maka, kita akan membooking memory dengan ukuran sesuai dengan
struct mahasiswa kita. Tanda “*” menunjukkan bahwa variabel x itu sebagai
pointer karena agar memory dapat terus mengikuti ukuran dari memory ketika data
x berubah. Malloc juga dapat digunakan untuk semua tipe data kecuali void
karena void tidak ada nilai yang dikembalikan.
Demikianlah pembahasan singkat tentang structure dan juga
malloc. Semoga pembahasan ini dapat bermanfaat bagi kalian.
Salam Programmers!
Tidak ada komentar:
Posting Komentar