Cheat Sheet C
Terakhir diperbarui
Hello World & struktur program
Setiap program C dimulai di main dan mengembalikan sebuah int.
| Elemen | Kode |
|---|---|
| Menyertakan header | #include <stdio.h> |
| Titik masuk program | int main(void) { ... } |
| Dengan argumen command line | int main(int argc, char *argv[]) { ... } |
| Mencetak satu baris | printf("Hello, World!\n"); |
| Mengembalikan status sukses | return 0; |
| Komentar satu baris | // comment |
| Komentar blok | /* comment */ |
Tipe data
Ukurannya bergantung pada platform; ukuran minimum di bawah ini dijamin oleh standar.
| Tipe | Keterangan |
|---|---|
int | Bilangan bulat, minimal 16 bit (biasanya 32) |
unsigned int | Bilangan bulat tidak negatif |
long / long long | Bilangan bulat yang lebih lebar (minimal 32 / 64 bit) |
float / double | Bilangan floating point presisi tunggal / ganda |
char | Satu byte, juga dipakai untuk karakter |
_Bool (bool lewat <stdbool.h>) | true atau false |
size_t | Tipe unsigned untuk ukuran dan indeks |
void | Tanpa tipe: dipakai untuk fungsi dan pointer generik |
Format specifier printf & scanf
Placeholder yang sesuai dengan tipe setiap argumen.
| Specifier | Yang dicocokkan |
|---|---|
%d / %i | int bertanda (signed) |
%u | int tanpa tanda (unsigned) |
%ld / %lld | long / long long |
%f | double (dan float di printf) |
%.2f | double dengan 2 angka desimal |
%c | Satu char |
%s | String (char *) |
%p | Alamat pointer |
%x | int unsigned dalam heksadesimal |
%zu | size_t |
Operator
| Operator | Arti |
|---|---|
+ - * / % | Aritmetika (% adalah sisa bagi bilangan bulat) |
== != | Sama dengan / tidak sama dengan |
< > <= >= | Perbandingan |
&& || ! | Logika and / or / not |
& | ^ ~ << >> | Bitwise and, or, xor, not, shift |
++ -- | Increment / decrement |
+= -= *= /= | Penugasan gabungan |
cond ? a : b | Kondisional ternary |
sizeof(x) | Ukuran tipe atau variabel dalam byte |
Alur kontrol
| Pernyataan | Sintaks |
|---|---|
| If / else | if (x > 0) { ... } else { ... } |
| Else if | else if (x == 0) { ... } |
| Switch | switch (n) { case 1: ...; break; default: ...; } |
| While loop | while (i < n) { ... } |
| Do-while loop | do { ... } while (i < n); |
| For loop | for (int i = 0; i < n; i++) { ... } |
| Break / continue | break; keluar dari loop, continue; lompat ke iterasi berikutnya |
| Goto (jarang dipakai) | goto label; ... label: |
Fungsi
Deklarasikan sebelum dipakai, atau tambahkan prototype di bagian atas file.
| Operasi | Sintaks |
|---|---|
| Mendefinisikan fungsi | int add(int a, int b) { return a + b; } |
| Prototype (deklarasi) | int add(int a, int b); |
| Tanpa nilai kembalian | void greet(void) { ... } |
| Tanpa parameter | int rand_seed(void) { ... } |
| Pass by pointer (untuk mengubah nilai) | void inc(int *p) { (*p)++; } |
| Mengirim array | int sum(int arr[], int n) { ... } |
| Static (lokal di file) | static int helper(void) { ... } |
Pointer & memori
Pointer menyimpan sebuah alamat. Memori heap harus dibebaskan secara manual.
| Operasi | Sintaks |
|---|---|
| Mendeklarasikan pointer | int *p; |
| Mengambil alamat | p = &x; |
| Dereference (baca/tulis) | int y = *p; / *p = 10; |
| Null pointer | int *p = NULL; |
| Mengalokasikan di heap | int *a = malloc(n * sizeof(int)); |
| Mengalokasikan + mengisi nol | int *a = calloc(n, sizeof(int)); |
| Mengubah ukuran alokasi | a = realloc(a, newSize); |
| Membebaskan memori heap | free(a); |
| Aritmetika pointer | *(a + i) sama dengan a[i] |
Array & string
String di C adalah array char yang diakhiri \0.
| Operasi | Sintaks |
|---|---|
| Mendeklarasikan array | int nums[5]; |
| Menginisialisasi array | int nums[] = {1, 2, 3}; |
| Mengakses elemen | nums[0] = 10; |
| Panjang array (array di stack) | sizeof(nums) / sizeof(nums[0]) |
| String literal | char s[] = "hello"; |
| Panjang string | strlen(s) (tidak termasuk \0) |
| Menyalin string | strcpy(dst, src); |
| Membandingkan string | strcmp(a, b) == 0 berarti sama |
| Menggabungkan string | strcat(dst, src); |
Struct & stdlib yang umum
| Operasi | Sintaks |
|---|---|
| Mendefinisikan struct | struct Point { int x; int y; }; |
| Mendeklarasikan & mengakses | struct Point p; p.x = 1; |
| Mengakses lewat pointer | p->x = 1; (sama dengan (*p).x) |
| Alias tipe | typedef struct Point Point; |
| Membaca input | scanf("%d", &n); |
| Mengonversi string ke int | int n = atoi("42"); |
| Nilai mutlak / pangkat | abs(x) (int), pow(x, y) dari <math.h> |
| Mengurutkan array | qsort(arr, n, sizeof(int), cmp); |
Sintaks C, format specifier, dan pola pointer yang paling sering kamu pakai, dalam satu halaman. Cheat sheet C ini adalah referensi cepat untuk menulis C: tipe data, specifier printf/scanf, operator, alur kontrol, serta operasi pointer dan memori yang sering bikin bingung.
Semua yang ada di sini adalah C standar (C99/C11) dan bisa kamu compile dengan gcc atau clang. Salin yang kamu butuhkan, atau coba potongan kode apa pun langsung di playground C, tanpa perlu menginstal compiler. Sedang belajar C? Kursus C interaktif gratis dari Coddy membahas pointer, memori, dan library standar lewat praktik langsung.
FAQ cheat sheet C
Apakah cheat sheet C ini gratis?
Ya. Cheat sheet C ini sepenuhnya gratis, tanpa perlu daftar. Simpan di bookmark dan kembali kapan pun kamu perlu mencari tipe, format specifier, atau operasi pointer.
Apa perbedaan stack dan heap di C?
malloc atau calloc, bertahan sampai kamu memanggil free, dan dipakai saat kamu butuh memori yang bertahan lebih lama dari fungsi saat ini atau yang ukurannya baru diketahui saat runtime. Lupa memanggil free pada memori heap menyebabkan memory leak.Kenapa scanf butuh tanda ampersand (&) tetapi printf tidak?
scanf menulis nilai kembali ke variabelmu, jadi ia butuh alamat variabel itu, dan itulah yang diberikan &x. printf hanya membaca nilainya, jadi kamu mengirim nilainya langsung. Pengecualiannya adalah string: array char sudah otomatis menjadi pointer, jadi kamu menulis scanf("%s", name) tanpa &.Bisakah saya berlatih C secara online?
Bisa. Buka playground C untuk compile dan menjalankan potongan kode apa pun dari cheat sheet ini di browsermu, tanpa perlu menginstal compiler. Kalau kamu ingin belajar terarah, kursus C interaktif gratis dari Coddy membawamu dari variabel dan perulangan sampai pointer dan manajemen memori, langkah demi langkah.
Apakah cheat sheet ini cocok untuk pemula?
Cocok. Isinya disusun mulai dari komponen dasar yang paling umum (tipe, printf, alur kontrol) sampai yang lanjutan (pointer, memori, struct), jadi kamu bisa memakai bagian atas sejak hari pertama dan pelan-pelan menguasai sisanya.