Im learning C again, and as usual when i dont do something for a long time, i forget it ALL. So back to Hello World it was.
I am looking for some projects to code to get myself back into it, and need a couple of small projects to get the blood pumping. Does anyone have any ideas. And no smart alec replies like a linux Kernel, please.
Try the BSD kernel then. :)
Seriously though...
One thing that might be good is to do little exercises from a book/document (online or otherwise).
So, follow the material, and then at the end of each section, try the exercises. Don't have to succeed in everyone (although that's a plus) because it's the getting back into the thinking that is important. You'll gradually get better with it all anyway.
Otherwise I'm not sure what to offer. I can say that I think it's normal that you tend to forget things you don't do. I mean, it's not just the language, it's the skill in logic, thinking, etc.
Oh, I believe there are challenges around too. http://www.osix.net for example.
Those might be nice. If you need resources, I can help there too.
Hope this helps some. Let me know if you have any more questions though (or comments).
I recommend socket programming :)
Seriously, write a small chatroom--it helped me get to know C real well. (Though I admit--I'm still not totally finished with that project, if one side exits, the other side crashes)
Not only will it be useful for coding but also good for networking skill ...
I assume your program gets a SIGPIPE ?
Me and C don't get on anymore these days .. haha
Ive done a bit of socket programming. I wrote a small packet sniffer for linux. It was basic, it just opened a socket, and printed the types of packets it saw.
Im going to play about with the source codes for namp or netcat, and see if I can change it anyway.
A chatroom is an idea. I want to end up doing network programming anyway so it might be a good practice. Ill let you know how I get on.
I like programming a prime number finder. Simple, contains a number of useful things, can be extended to complex.
Other interesting things to do:
Tic-Tac-Toe w/a computer opponent, if you want to learn a GUI
Address book, if you want to learn a DataBase
Email client, if you want to learn basic TCP/IP sessions
Life - a cellular Automaton
Prime number finders are great, and in C, you can get them to be pretty stinking fast. For the tic-tac-toe game, I actually made one, but you couldn't actually win, it kinda sucked. I think the hardest part about making a computer opponent is making it the right level of difficulty. For instance, NOT IMPOSSIBLE, hehe.
I just created a fully functioning webserver (text, html, gif, jpg, and png supported) with perl cgi support in C as a school project. It is far from perfect, but everything is functional. If there is an interest for it, I will post the files somehow. C is a frustrating language to use after writing in C++ for awhile.
wilnix