C StructuresLesson 41Preview gratis
C Struct Padding
Lesson ini bagian dari C · Semua level
Ringkasan
Compiler menyisipkan byte padding di antara member struct agar setiap member berada pada alamat yang sejajar dengan kebutuhannya (alignment). Akibatnya sizeof sebuah struct sering lebih besar daripada jumlah ukuran seluruh member. Padding penting dipahami ketika data disimpan ke file, dikirim lewat jaringan, atau dipakai bersama oleh program bahasa lain.
Poin kunci
- Alignment berarti tipe biasanya berlokasi di kelipatan ukurannya sendiri, misalnya int di kelipatan 4 byte.
- sizeof mengembalikan ukuran struct termasuk semua padding, bahkan padding di akhir agar elemen array tetap sejajar.
- Urutan member memengaruhi ukuran; kelompokkan tipe berukuran sama agar padding minimal.
- #pragma pack bisa memaksa penyusunan rapat, tetapi bisa menurunkan performa akses data.
- Untuk data lintas platform, serialize field per field, jangan menulis struct mentah langsung ke file atau jaringan.
Materi lengkap
Contoh kode dan kuis
Materi lengkap, contoh kode, dan kuis tersedia untuk pelanggan. 5 soal.