Please enable JavaScript to use CodeHS


Learn how to program in C, a complex and powerful language used in low-level computer programming and Internet of Things devices.


C has many data types, each useful for their own application. Here is an overview of some of the most common data types.


Pointer manipulation is a confusing but vital part of the C programming language. It allows you to interact closely with memory in your program.

Dynamic Memory

Dynamic memory lets you manually allocate and deallocate memory, giving you more control over how your program runs.

Excited to start building your own C program?