To learn about pointers in C I made a version of Camel Up. Camel Up is a board game where camels race. When a camel moves it will move and bring along all the camels on top of it. If a camel moves to a square with a camel then it will get on top.
This taught me how to reference and de-reference pointers. I made a struct to keep a camel. Each camel struct hold its name and which camel it is riding. This means that if a camel below moves then it will too.
The source code is here.