C MoreLesson 51Preview gratis
C Macros
Lesson ini bagian dari C · Semua level
Ringkasan
Macro adalah penggantian teks yang dilakukan preprocessor sebelum kompilasi dan ditulis dengan #define. Macro objek sederhana seperti #define PI 3.14159, sedangkan macro fungsi memakai parameter seperti #define MAX(a,b) ((a) > (b) ? (a) : (b)). Karena hanya penggantian teks, macro rawan bila ekspresi tidak dibungkus kurung atau argumennya memiliki efek samping.
Poin kunci
- Preprocessor mengganti macro sebelum kompilasi dimulai, sehingga tidak ada variabel atau tipe yang dibuat.
- Bungkus seluruh hasil macro dan setiap argumen dalam kurung agar urutan operasi tetap benar.
- Hindari argumen ber-efek samping seperti MAX(i++, 5) karena bisa dievaluasi lebih dari sekali.
- Gunakan enum, const, inline, atau fungsi biasa bila memungkinkan karena lebih aman daripada macro.
- Macro juga dipakai untuk include guard dan conditional compilation dengan #ifdef.
Materi lengkap
Contoh kode dan kuis
Materi lengkap, contoh kode, dan kuis tersedia untuk pelanggan. 5 soal.