No one seem to have mentioned this book
[link|http://www.cs.rit.edu/~ats/books/ooc.pdf|http://www.cs.rit.edu/~ats/books/ooc.pdf]
( + code examples: [link|http://www.cs.rit.edu/~ats/books/ooc-02.01.04.tar.gz|http://www.cs.rit.ed...c-02.01.04.tar.gz] and [link|ftp://ftp.informatik.uni-osnabrueck.de/pub/hanser/books/ooc-94.2.11.tar.gz|ftp://ftp.informatik...oc-94.2.11.tar.gz] )

Found at
[link|http://www.cs.rit.edu/~ats/books/index.html|http://www.cs.rit.ed.../books/index.html]

The author is called: Axel-Tobias Schreiner and his homepage is [link|http://www.cs.rit.edu/~ats/|http://www.cs.rit.edu/~ats/]

I am a complete programming beginner, well, am not just how to classify my skills but I never wrote any programs at all, but I am learning several programming languages.

That book, is far from being easy to read or follow, it seems to be a good book, just hard.
And after skimming throught it, I think that by the and, the guy create and Object-oreinted layer on top of C that looks a lot like Objective-c

From my humble experience if I have any :P , I think if you find that your application will benefit from OOP, you should use a language that helps you in that, like Objective-C, Java, Python, OCaml...

And a good programmer need to have good knowledge of several progamming languages anyway, I think programming in C should and I am sure certainly do, have it's own set of best practice, emulating OOP in C doesn't seem to be one.