Bahasa C

C adalah salah satu jenis bahasa pemrograman. Bahasa c diawali pengembangannya oleh Dennis Ritchie sebagai sebuah bahasa program untuk membuat kode program sistem operasi. Fitu utama dari bahasa C meliputi angset level rendah ke memori, keyword sederhada, dan clean style. Fitur-fitur tersebut membuat bahasa C sangat cocok digunakan dalam sistem pemrograman seperti sistem operasi atau pengembangan compiler.

KataKunci:
Basics, Variable Declaration, Definition and Scope, Data Types, Storage Classes, Input/Output, Operators, Preprocessor, Array & Strings, Control Statements, Functions, Pointers, Enum, Struct and Union, Memory Management, File Handling, Puzzles, Misc, C Language Interview Questions, Multiple Choice Questions



Dasar

C/ C++ token...]

Kembali ke bagian awal >>>





Deklarasi, definisi, dan scope variabel


Kembali ke bagian awal >>>





Tipe Data


Kembali ke bagian awal >>>





Class Penyimpanan


Kembali ke bagian awal >>>





Input dan Output


Kembali ke bagian awal >>>





Operator


Kembali ke bagian awal >>>





Preprocessor

typedef vs #define...]
Fungsi library strftime()...]
Fungsi keluarga exec...]

Kembali ke bagian awal >>>





Array & String

Pengenalan array...]
String...]
Properti array...]
Larangan penggunaan sizeof untuk parameter array...]
Inisialisasi dari ukuran variabel array...]
Mengkopi anggota terdalam array...]
Perbedaan antara deklarasi single dan double quoted dari char array...]
Inisialisasi dari array multidimensi...]
Menulis fungsi satu baris untuk strcat() dan strcmp()...]
Perbedaan antara char s[] dan char *s...]
gets()...]
Fungsi untuk menukar string...]
Ruang penyimpanan string...]
Perbedaan antara array dan pointer...]
Alokasi dinamis array 2D...]
Melewatkan array 2D sebagai parameter...]
Cara membuat string panjang pada multi baris...]
Tipe data yang tidak bisa dibuat dalam array...]
Variabel length array...]
Notasi short hand array...]
Mengakses array diluar dari ikatan...]
strcpy()...]
strcmp()...]
strdup() dan strdndup()...]
Melewatkan array oleh value...]
Reverse string...]
strpbrk()...]
strcoll()...]
ispunct()...]
strspn()...]
isalpha() dan isdigit()...]

Kembali ke bagian awal >>>





Control Statement

label data switch...]
'For' vs 'While'...]
Puzzle nested loop...]
Switch statement...]
Perbedaan antara while(1) dan while(0)...]
Statement goto...]
Statement continue...]
Statement break...]
Penggunaan batasan pada switch case...]

Kembali ke bagian awal >>>





Function

Fungsi...]
Fungsi prototype...]
Fungsi yang dieksekusi sebelum dan sesudah main()...]
Statement return vs exit()...]
Menghitung jumlah variabel dari argumen...]
Perintah evaluasi fungsi parameter...]
Fungsi overloading...]
Pengembalian multi nilai dari fungsi...]
Peran fungsi prototype...]
Fungsi static...]
exit(), abort(), dan assert()...]
Tipe pengembalian implisit...]
Pemanggilan fungsi sebelum deklarasi...]
Fungsi specifier _Noreturn...]
exit() vs _Exit()...]
__func__ identifier...]
Fungsi Callback...]
Fungsi nested...]
Teknik passing parameter...]
Fungsi pow()...]
Fungsi tolower()...]
Fungsi time()...]

Kembali ke bagian awal >>>





Pointer

Pengenalan pointer...]
Pointer ke pointer...]
Parameter array sebagai pointer...]
Pointer Dangling, Void, Null, dan Wild...]
Representasi tidak umum dari element array...]
Mendeklarasikan pointer menjadi fungsi...]
Pointer vs array...]
Pointer void...]
Pointer NULL...]
Fungsi pointer...]
Pointer near, far, dan huge...]
Generic Linked List...]
Restrict keyword...]
const char *p, char * const p, dan const char * const p...]
Pointer ke array...]

Kembali ke bagian awal >>>





Enum, Struct, dan Union

Enum...]
Structure...]
Union...]
Struct Hack...]
Structure member alignment, padding, dan data packing...]
Operasi pada variabel struct...]
Bit field...]
Structure sorting...]
Anggota array fleksibel pada structure...]
Perbedaan antara structure dan union...]
Perbedaan antara C structures dan C++ structures...]
Anonymous union dan structure...]
Compound literal...]

Kembali ke bagian awal >>>





Memory Management

Layout memori...]
Deallocate memori tanpa menggunakan free()...]
calloc() vs malloc()...]
Cara free() mengetahui ukuran memori yang akan di-deallocated...]
Penggunaan realloc()...]
Kebocoran memori...]

Kembali ke bagian awal >>>





File Handling

fseek() vs rewind()...]
EOF, getc(), dan feof()...]
fopen() untuk menulis file...]
Membaca struktur file...]
fgets() dan gets()...]
File handling...]
fsetpos()...]
Fungsi rename...]
Fungsi tmpfile()...]
fgetc() dan fputc()...]
fseek()...]
ftell()...]
lseek()...]
Fungsi remove...]
Menggabung dua konten menjadi konten baru...]
Mencetak file konten...]

Kembali ke bagian awal >>>





Puzzles

Mencetak angka 1 hingga N tanpa menggunakan semicolon...]
Menjumlahkan dua nilai tanpa menggunakan operator...]
Memperlihatkan representasi memori...]
Mencetak “HelloWord”...]
Penambahan karakter dan mencetaknya...]
Menjumlahkan single digit angka pada satu single statement...]
Mengkonversi angka menjadi string...]
Menghitung log n dalam satu baris program...]
Mencetak “Even” atau “Odd" tanpa menggunakan statement kondisional...]
Mencetak angka 1 sampai 100 tanpa menggunakna looping...]
Menjumlahkan angka inputan dalam satu statement tunggal...]
Tulis fungsi satu baris C untuk angka pembulatan...]
Implementasi sizeof...]
Menghitung untaian bit...]
Mengubah hasil output printf()...]
Menemukan panjang tanpa menggunakan string.h dan loop...]
Mengimplementasikan itoa()...]
Membuat program yang tidak terminate ketika Ctrl+C ditekan...]
Cara mengukur waktu dengan menggunakan fungsi...]
Mencetak long int menggunakan putchar()...]
Konversi float menjadi string...]
Membuat program c tanpa main()...]
Membuat memcpy()...]
Program mencetak characters tanpa menggunakan format specifier...]
Mencetak string tanpa menggunakan quote (singe atau double)...]
Mengeksekusi perintah if else...]
Mencetak “Hello World” tanpa menggunakan file header...]

Kembali ke bagian awal >>>





Tambahan

Quine...]
Deklarasi kompleks...]
Fungsi bool...]
Sequence Points...]
Teknik optimisasi...]
ASCII NUL, ASCII 0 (’0?), dan Numeric literal 0...]
Little and big endian mystery...]
Fungsi komparasi qsort()...]
Program untuk memvalidasi IP address...]
Multithreading...]
Assertions...]
fork()...]
Fakta menarik bahasa C...]
Angka presisi dari floating point floor(), ceil(), trunc(), round() and setprecision()...]
setjump() dan longjump()...]
nextafter() dan nexttoward()...]
pthread_cancel()...]
pthread_equal()...]
pthread_self()...]
Label lokal...]
lvalue dan rvalue...]
Get dan set ukuran stack dari atribut thread...]
Perbedaan antara fork() dan exec()...]
Error...]
Bahasa C adalah bahasa pemrograman yang responsif...]
Inkompatibilitas antara C dan C++...]
Konversi C/C++ menjadi assembly language...]
Error handling...]
Eksekusi main() pada C/C++...]
Hygienic Macros...]
Argumen perintah baris...]
scanf(), fscanf(), sscanf(), scanf_s(), fscanf_s(), dan sscanf_s()...]
Fakta menarik bahasa C...]
Database konektivitas...]
Function interposisi...]
Macros vs fungsi...]
Membuat memcpy() dan memmove()...]

Kembali ke bagian awal >>>