Menu
CoddyTech

Cheat Sheet C

Terakhir diperbarui

Hello World & struktur program

Setiap program C dimulai di main dan mengembalikan sebuah int.

ElemenKode
Menyertakan header#include <stdio.h>
Titik masuk programint main(void) { ... }
Dengan argumen command lineint main(int argc, char *argv[]) { ... }
Mencetak satu barisprintf("Hello, World!\n");
Mengembalikan status suksesreturn 0;
Komentar satu baris// comment
Komentar blok/* comment */

Tipe data

Ukurannya bergantung pada platform; ukuran minimum di bawah ini dijamin oleh standar.

TipeKeterangan
intBilangan bulat, minimal 16 bit (biasanya 32)
unsigned intBilangan bulat tidak negatif
long / long longBilangan bulat yang lebih lebar (minimal 32 / 64 bit)
float / doubleBilangan floating point presisi tunggal / ganda
charSatu byte, juga dipakai untuk karakter
_Bool (bool lewat <stdbool.h>)true atau false
size_tTipe unsigned untuk ukuran dan indeks
voidTanpa tipe: dipakai untuk fungsi dan pointer generik

Format specifier printf & scanf

Placeholder yang sesuai dengan tipe setiap argumen.

SpecifierYang dicocokkan
%d / %iint bertanda (signed)
%uint tanpa tanda (unsigned)
%ld / %lldlong / long long
%fdouble (dan float di printf)
%.2fdouble dengan 2 angka desimal
%cSatu char
%sString (char *)
%pAlamat pointer
%xint unsigned dalam heksadesimal
%zusize_t

Operator

OperatorArti
+ - * / %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 : bKondisional ternary
sizeof(x)Ukuran tipe atau variabel dalam byte

Alur kontrol

PernyataanSintaks
If / elseif (x > 0) { ... } else { ... }
Else ifelse if (x == 0) { ... }
Switchswitch (n) { case 1: ...; break; default: ...; }
While loopwhile (i < n) { ... }
Do-while loopdo { ... } while (i < n);
For loopfor (int i = 0; i < n; i++) { ... }
Break / continuebreak; 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.

OperasiSintaks
Mendefinisikan fungsiint add(int a, int b) { return a + b; }
Prototype (deklarasi)int add(int a, int b);
Tanpa nilai kembalianvoid greet(void) { ... }
Tanpa parameterint rand_seed(void) { ... }
Pass by pointer (untuk mengubah nilai)void inc(int *p) { (*p)++; }
Mengirim arrayint 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.

OperasiSintaks
Mendeklarasikan pointerint *p;
Mengambil alamatp = &x;
Dereference (baca/tulis)int y = *p; / *p = 10;
Null pointerint *p = NULL;
Mengalokasikan di heapint *a = malloc(n * sizeof(int));
Mengalokasikan + mengisi nolint *a = calloc(n, sizeof(int));
Mengubah ukuran alokasia = realloc(a, newSize);
Membebaskan memori heapfree(a);
Aritmetika pointer*(a + i) sama dengan a[i]

Array & string

String di C adalah array char yang diakhiri \0.

OperasiSintaks
Mendeklarasikan arrayint nums[5];
Menginisialisasi arrayint nums[] = {1, 2, 3};
Mengakses elemennums[0] = 10;
Panjang array (array di stack)sizeof(nums) / sizeof(nums[0])
String literalchar s[] = "hello";
Panjang stringstrlen(s) (tidak termasuk \0)
Menyalin stringstrcpy(dst, src);
Membandingkan stringstrcmp(a, b) == 0 berarti sama
Menggabungkan stringstrcat(dst, src);

Struct & stdlib yang umum

OperasiSintaks
Mendefinisikan structstruct Point { int x; int y; };
Mendeklarasikan & mengaksesstruct Point p; p.x = 1;
Mengakses lewat pointerp->x = 1; (sama dengan (*p).x)
Alias tipetypedef struct Point Point;
Membaca inputscanf("%d", &n);
Mengonversi string ke intint n = atoi("42");
Nilai mutlak / pangkatabs(x) (int), pow(x, y) dari <math.h>
Mengurutkan arrayqsort(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?
Memori stack menyimpan variabel lokal dan otomatis dibebaskan saat fungsi selesai: cepat, tetapi ukurannya terbatas. Memori heap dialokasikan secara eksplisit dengan 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.

Ilustrasi bahasa pemrograman di Coddy

Belajar C bersama Coddy

Mulai