It's difficult to get started doing something 'practical' in C on your own, because there's so many things apart from C that you need to learn to create a decent project. Off the top of my head: compiler and linking specifics, make, the autotool chain, version control, release mgmt, pitfalls of portable code, details of whatever library you're using (say GNOME), some cultural issues etc. 'Real World' C is totally different than what you learn in books, lots of extensions and weird macros that are hard to understand initially.
Once you've reached a point where you understand C and are able to program effectively, look for an open source project that already has all the other infrastructure in place. Pick something small and interesting, preferably with a "nice" community. Ideal would be a tool you use that's missing a tiny feature. E.g. I use Transmission for bittorrent and it annoyingly 'jumps' when calculating the estimated remaining time of the download ("2 hours" one second "12 days" then next) because it only takes the download speed during the last second into account calculating the ETA. This would be a doable weekend project and you get acquainted with a "real" application and the development process.