# Function Pointers

Kuasai deklarasi dan pemakaian function pointer untuk callback tingkat lanjut.

Buka →
# Callbacks

Rancang API berbasis callback untuk event-driven dan inversion of control.

Buka →
# Generic Programming dengan void Pointer

Tulis fungsi generik memakai void * dan callback, seperti qsort.

Buka →
# qsort dan bsearch

Pakai qsort dan bsearch dari stdlib.h dengan comparator function.

Buka →
# Variadic Functions

Tulis fungsi dengan jumlah argumen variabel seperti printf.

Buka →
# va_list dan va_args

Akses argumen variadic lewat va_list, va_start, va_arg, va_end.

Buka →
# Compound Literals

Buat objek anonim inline dengan compound literals (C99).

Buka →
# Designated Initializers

Inisialisasi struct dan array dengan designated initializer (C99).

Buka →
# Flexible Array Members

Pelajari FAM di akhir struct untuk data variabel (C99).

Buka →
# restrict Qualifier

Pakai restrict untuk menandai tidak ada aliasing dan bantu optimasi.

Buka →
# volatile Qualifier

Pahami volatile untuk akses memory-mapped IO dan signal handler.

Buka →
# Atomics

Pelajari _Atomic dan stdatomic.h untuk operasi concurrent tanpa race.

Buka →
# Memory Model

Pahami memory model C11: sequential consistency dan ordering.

Buka →
# Alignment

Pelajari _Alignas, _Alignof, alignof, dan aligned_alloc.

Buka →
# Bit Manipulation

Kuasai teknik manipulasi bit: set, clear, toggle, dan check bit.

Buka →
# Implementation-Defined Behavior

Bedakan implementation-defined behavior dan implikasi portabilitas.

Buka →
# Unspecified Behavior

Pahami unspecified behavior dan cara menulis kode yang tidak mengandalkannya.

Buka →
# Undefined Behavior

Kenali daftar UB di C dan strategi menghindarinya.

Buka →
# Portability

Tulis kode C portabel lintas compiler, OS, dan arsitektur.

Buka →