Take the 2-minute tour ×

After having learning the basics of C programming from several books (variables, arrays, linked lists, etc.), what comes next? Any suggestions of areas to extend my C programming skills to, and any helpful sources? Because I was wondering what experienced programmers did after learning the basics.

share|improve this question

closed as not constructive by gnat, Dynamic, Walter, Glenn Nelson, thorsten müller Dec 17 '12 at 9:51


Actual projects? –  Martin Wickman Jun 18 '11 at 8:13
Get your hands dirty! Car analogy: Now you learned the theory, now you need to practice driving. –  user1249 Jun 18 '11 at 9:14

5 Answers 5

Whatever you do, have a small project for it. Put it somewhere like github.

Since you seem to be looking for specifics -

  • Start network programming - Richard Stevens (Unix Network Programming Vol 1) is a good place to start. Example projects can be a small HTTP server, an IRC client, an XMPP server.
  • Write your own library of common data structures - trees, maps, lists, sets. This will sharpen your coding skills further and give you a collection of code that will be useful later.

There are numerous routes after this, like Linux kernel development, embedded systems, etc, but the important thing is to always keep something going to keep up your enthusiasm.

share|improve this answer
+1 Good examples of specific things he can code –  Anto Jun 18 '11 at 11:23
"Write your own library of common data structures - trees, maps, lists, sets." I like the "fundamentals" side of this, too. So many people have no idea how these things work internally. –  MetalMikester Dec 15 '12 at 19:15

Code. Start coding on some project, something that interests you. Books are great, but they will only get you so far. You can look at some open source project too if that interests.

share|improve this answer

Read lot of programs to see what idiomatic forms others use. When you have read enough, you will be confident in joining one of the projects where you can start contributing code and fixes very soon.

share|improve this answer

You can start learning Data Structures and start implementing these in 'C' programming language. It will be real fun.

share|improve this answer

Join some open-source project and start actually writing code, and getting feedback from your peers and users. Without practice - it will all go away very quickly.

share|improve this answer
