Start C Programming

See C and memory, line by line

Free · In‑App Purchases · Designed for iPad. Not verified for macOS.

Run C line by line and watch stack frames, heap blocks, and pointers change. New to programming? Start with the free Track 0. 339 lessons, 126 exercises. Learn C by running code one line at a time and watching memory change. Pointers are hard because you cannot see them. Each time you run a line, this app draws the stack frame of each call, the variables inside it, the heap blocks you borrow with malloc, and where each pointer points. The value that changed last turns yellow, and you can step back to see it again. Step through and rewind - Run to the next line, back to the previous line, to a breakpoint, or to the end - Watch frames pile up when a function is called and disappear when it returns - Pointers are arrows, arrays are rows of slots, and structs show their members and padding - Tap a variable to see its bytes in hex, decimal, binary, or characters - Set scanf input, command-line arguments, and files before you run, and see what your program read and wrote - Processes and threads appear in tables, and each process's memory, pipes, and sockets appear as pictures - A virtual microcontroller board shows its LEDs, buttons, registers, and terminal 8 tracks and an appendix, 339 lessons - Track 0 First steps in programming — hardware, operating systems, bits and files, algorithms, and bugs, before any code (20 lessons) - Track 1 Programming basics — values, conditions, loops, and functions (16 lessons) - Track 2 The C language — printf to pointers, structs, dynamic memory, file I/O, and function pointers (68 lessons) - Track 3 Memory essentials — bits and bytes, the memory map, the stack and the heap, alignment, memory bugs, and virtual memory (33 lessons) - Track 4 Executable essentials — preprocessing, compiling, and linking, assembly, object files, executable formats, and the Unix system interface (36 lessons) - Track 5 Capstone projects — a string processor, a linked list, a memory allocator, an RPN calculator, and a word counter, from requirements to tests (27 lessons) - Track 6 Systems programming — fork, pipes, threads, shared memory, sockets, and poll, then a work queue and a chat room (51 lessons) - Track 7 C for embedded development — registers, GPIO, timers, interrupts, UART, and flash and RAM on a virtual board (37 lessons) - Appendix Computing and the lineage of C — the history of computing up to C and what the standards from C89 to C23 changed (51 lessons) Lessons are short cards, and examples run right where you read them. Every lesson is marked beginner, intermediate, or advanced. Each module has a quiz, track modules have auto-graded exercises with hints, and each track ends with a final quiz. A short placement quiz suggests where to start, with Track 0 if programming is new to you. Errors explained - Errors and warnings are caught where clang catches them, with an explanation, a fix, and a related lesson - Mistakes common on a phone keyboard, such as curly quotes and full-width symbols, are pointed out too - Out-of-bounds writes, use after free, double frees, and leaks stop or warn where they happen, with what real C would do - Data races and deadlocks between threads are reported too Like real C - Supports C99 and C11 - Hundreds of test programs match clang on a Mac, down to the output and the exit status - Files live in a virtual file system inside the app and never stay on your device - Processes, threads, pipes, sockets, and the virtual board run inside the app; networking is loopback only, and no real hardware is touched - Features not available yet, such as inline assembly, tell you "not supported yet" and why On your device, with no internet An educational C interpreter built into the app runs everything on your device. Your code and your progress stay on the device. There are no ads and no analytics. Start for free All of Tracks 0 and 1, the first module of Tracks 2 to 7, and the whole appendix are free. The other modules open with a one-time purchase per track, which also opens modules added in later updates. One purchase works on both iPhone and iPad. On iPad, code, memory, and output sit side by side on one screen.

  • This app hasn’t received enough ratings or reviews to display an overview.

What's new in 1.5.0 - New free Track 0, "First steps in programming": before you write code, 20 lessons cover programs and operating systems, bits and files, algorithms, programming languages, and bugs and debugging. Read a question, think for a moment, then tap "Show answer." - A final quiz for every track: finish a track's lessons to open a final quiz of 5 basic and 5 advanced questions, and jump from a missed question to its lesson. Track headers show your lesson progress and final quiz score. - If programming is new to you, the app now suggests starting with Track 0. - Track 6 sockets: a connect interrupted by a signal now times out as it does on macOS, and the error it leaves can be read with SO_ERROR or the next recv. Tell us about any problem through the support page.

The developer, CHUNGKIL KIM, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .

  • Data Not Linked to You

    The following data may be collected but it is not linked to your identity:

    • User Content
    • Identifiers
    • Usage Data
    • Diagnostics

Privacy practices may vary, for example, based on the features you use or your age. Learn More

The developer has not yet indicated which accessibility features this app supports. Learn More

Seller
CHUNGKIL KIM
Size
43 MB
Category
Education
Compatibility
Requires iOS 18.0 or later.
  • iPhone
    Requires iOS 18.0 or later.
  • iPad
    Requires iPadOS 18.0 or later.
  • Mac
    Requires macOS 15.0 or later and a Mac with Apple M1 chip or later.
  • Apple Vision
    Requires visionOS 2.0 or later.
Languages
English and Korean
Age Rating
4+
In-App Purchases
Yes
  • Track 7: Embedded C $7.99
  • Track 6: Systems programming $7.99
  • Track 5: Capstone projects $5.99
  • Track 2: The C language $5.99
  • Track 4: Executable essentials $5.99
  • Track 3: Memory essentials $5.99
Copyright
© CHUNGKIL KIM