POINTER: DYNAMIC MEMORY (MEMORY MANAGEMENT)

Learn To Codes

Bahasa C membagi memori menjadi beberapa bagian, yaitu

  1. Code (Text), bagian ini berisi kode-kode mesin dari program yang sudah dikompilasi dan merupakan bagian yang hanya dapat dibaca (read only) untuk menghindari perubahan program yang tidak disengaja.
  2. Static (Globals), bagian ini dibagi menjadi dua, yaitu
    • Initialised data segment, bagian yang berisi semua variabel global, static, konstanta dan eksternal yang sudah diinisialisasi Bagian ini dibagi menjadi dua, yaitu bagian read only dan bagian read-write.
    • Uninitialised data segment (.bss segment), bagian ini berisi semua variabel global, static dan eksternal yang belum diinisialisasi. Pada bagian ini, variabel global, static dan ekternal secara default diinisialisasi menjadi NOL sebelum program dieksekusi.
  1. Heap (Free Store), bagian yang digunakan untuk mengalokasikan memori secara dinamis. Bagian heap diatur oleh fungsi malloc(), calloc(), realloc() dan free() yang terdapat pada pustaka h.
  2. Stack

View original post 316 more words

Leave a comment