Skip to content
← Languages

C

25 modules · 350 questions

1

Data Types, Variables & Storage Classes

beginner
data types int float char void sizes sizeof operator +48 more
35 min 15 questions
0/15
2

Operators & Expressions

beginner
arithmetic division modulo integer division logical operators short circuit and or +32 more
25 min 12 questions
0/12
3

Control Flow

beginner
if else conditional branching switch case fall through break for +28 more
25 min 12 questions
0/12
4

Functions & Recursion

beginner
function declaration function definition prototype pass by value pass by reference function arguments pointers declaration +39 more
35 min 15 questions
0/15
5

Arrays & Strings

beginner
array declaration initialization 1D array 2D array row major memory layout array decay +46 more
35 min 15 questions
0/15
6

Pointers Fundamentals

beginner
pointer declaration initialization address NULL null pointer safety pointer arithmetic +40 more
35 min 15 questions
0/15
7

Preprocessor & Compilation

beginner
define macro preprocessor object like function like include header angle brackets +34 more
25 min 11 questions
0/11
8

Advanced Pointers

intermediate
double pointer pointer to pointer indirection function pointer declaration typedef callback design pattern +39 more
35 min 15 questions
0/15
9

Dynamic Memory Management

intermediate
malloc heap allocation casting stdlib calloc zero initialization comparison realloc +49 more
35 min 15 questions
0/15
10

Structures, Unions & Enums

intermediate
struct initialization designated initializer c99 nested struct composition struct pointer arrow operator +47 more
35 min 15 questions
0/15
11

File I/O (ANSI C)

intermediate
fopen file modes read write binary fclose resource cleanup buffering file descriptor +40 more
25 min 12 questions
0/12
12

Linked Lists

intermediate
linked list struct self referential insertion head tail deletion free +28 more
35 min 15 questions
0/15
13

Stacks, Queues & Trees

intermediate
stack array LIFO linked list dynamic operations abstract data type infix +44 more
35 min 15 questions
0/15
14

Sorting & Searching

intermediate
sorting bubble sort optimization selection sort insertion sort adaptive merge sort divide and conquer +33 more
35 min 15 questions
0/15
15

Bitwise Operations & Tricks

intermediate
bitwise operators AND OR XOR NOT shift set bit +38 more
40 min 18 questions
0/18
16

UNIX File I/O & Descriptors (APUE)

advanced
open system call file descriptors flags stdin stdout stderr close +48 more
35 min 15 questions
0/15
17

Files & Directories (APUE)

advanced
stat fstat lstat struct stat file metadata permissions setuid setgid +38 more
30 min 12 questions
0/12
18

Process Control (APUE)

advanced
fork process creation pid copy on write COW virtual memory exec execv +57 more
45 min 18 questions
0/18
19

Signals (APUE)

advanced
signal unreliable signals handler sigaction reliable signals sa_mask SA_RESTART SIGINT +47 more
35 min 15 questions
0/15
20

Inter-Process Communication (APUE)

advanced
pipe anonymous pipe ipc dup2 pipeline fork exec popen pclose +45 more
35 min 15 questions
0/15
21

Threads & Synchronization (APUE)

advanced
pthread_create thread creation pthreads pthread_join pthread_detach joinable detached thread vs process +43 more
35 min 15 questions
0/15
22

Socket Programming

advanced
socket AF_INET SOCK_STREAM SOCK_DGRAM system call tcp server bind +61 more
35 min 15 questions
0/15
23

Memory Internals & Debugging

advanced
virtual memory page table TLB MMU paging memory layout text data +54 more
30 min 12 questions
0/12
24

Embedded C & Hardware

advanced
volatile hardware register ISR compiler optimization embedded memory mapped io hardware registers pointers +33 more
25 min 10 questions
0/10
25

C Standards & Best Practices

advanced
c89 c99 c11 c17 standards history designated initializers VLA +32 more
20 min 8 questions
0/8