Thread: how to become much better in C

  1. #1
    Registered User
    Join Date
    Nov 2018
    Posts
    11

    how to become much better in C

    Hi all,

    i was learning about C since a while.
    I used the book (Sams C in 21 days). It's a bit old, but good.
    I typed all the code examples, read almost everything. I feel like i know the basics now.

    However my goal is to become much better, an expert...
    my question how can i improve my C-skills, i know i should practice more, try to solve some problems and so on, but i don't where to start..

    Do you have any ideas ? any websites with some small projects or exercices with solutions ?

    many thanks in advance

  2. #2
    Registered User
    Join Date
    Apr 2019
    Posts
    662
    have you head of project Euler it gets you thinking about what you need to do to solve a problem only complaint i have is they give a small example that the answer is small then ask what the 1000th one would be which is a big number when they could just as easily ask what the 100th was or the 50th, Have you done linked lists (single, double and circular) then there are other data storage methods.

  3. #3
    Registered User
    Join Date
    Apr 2019
    Posts
    662
    if you go down the list of topics you will find one from me asking pretty much the same thing (i think someone commented on it yesterday)

  4. #4
    Registered User
    Join Date
    Nov 2018
    Posts
    11
    Hey cooper,

    no never heard of "project Euler", i will take a look at it,
    yes i have done lists, but so far only single, and that is what of he topics i want to improve with some exercices....i am planing to read a second book (C++), and i know they handle double linked lists...

  5. #5
    Registered User
    Join Date
    May 2019
    Posts
    179
    This very website offers a book I just skimmed through which moves you into C++, and if you know the basics of C, I highly recommend that you consider C++ next, then move into the study of data structures and algorithms. Games and 3D are a fun study there.

  6. #6
    Registered User
    Join Date
    Apr 2019
    Posts
    662
    double linked lists can be done in c just as easily only difference is rather than having just a next point in the node struct you have a previous pointer in the struct as well. this saves you having to scroll through the list keeping track of the current node and the previous node.

  7. #7
    Registered User
    Join Date
    Apr 2019
    Posts
    63
    Quote Originally Posted by Niccolo View Post
    This very website offers a book I just skimmed through which moves you into C++, and if you know the basics of C, I highly recommend that you consider C++ next, then move into the study of data structures and algorithms. Games and 3D are a fun study there.
    Would you recommend i try oct-tree?
    Tree code I seen here look abstract,i am more like to solve things with math
    How do you know when you are a Guru?
    When you can (code) C even blindfolded

  8. #8
    Registered User
    Join Date
    Apr 2019
    Posts
    662
    i c everything..... i wouldn't judge trees by my efforts there are lots of mistakes and errors that are fixed along the way im not sure what an oct tree is but if it follows the same naming as a binary tree ie 2 nodes to a branch it must be a nightmare.

  9. #9
    Registered User catacombs's Avatar
    Join Date
    May 2019
    Location
    /home/
    Posts
    66
    Hi, Scatman.

    I am in the same boat as you. I now understand the basics of C and hoping to improve my skills.

    One thing that helped me to better understand the language is writing small programs that help me with my daily life, such as counting the number of files in a directory or look up a word on the dictionary.

    There are plenty of GitHub repos that offer programming projects, ranging from easy to hard, that'll put much of what you've learned to the test.

    Hope that helps.

  10. #10
    TEIAM - problem solved
    Join Date
    Apr 2012
    Location
    Melbourne Australia
    Posts
    1,833
    Quote Originally Posted by cooper1200 View Post
    have you head of project Euler it gets you thinking about what you need to do to solve a problem only complaint i have is they give a small example that the answer is small then ask what the 1000th one would be which is a big number when they could just as easily ask what the 100th was or the 50th, Have you done linked lists (single, double and circular) then there are other data storage methods.
    Exactly what I was going to say - To get good at something, you need to practice.

    Project Euler is a great spot for practice problems

  11. #11
    TEIAM - problem solved
    Join Date
    Apr 2012
    Location
    Melbourne Australia
    Posts
    1,833
    "C Unleashed" is a good book for non-beginners.


    Here is an advanced book that is actually enjoyable to read...
    Expert C Programming: Deep C Secrets - Peter Van der Linden - Google Books

  12. #12
    Programming Wraith GReaper's Avatar
    Join Date
    Apr 2009
    Location
    Greece
    Posts
    2,691
    Quote Originally Posted by I C everything View Post
    Would you recommend i try oct-tree?
    Tree code I seen here look abstract,i am more like to solve things with math
    I had only heard about oct-trees until I implemented my own voxel renderer (minecraft clone ). Ahh, it feels so nice to be able to have 1024x1024 chunks at 60 fps.
    Devoted my life to programming...

  13. #13
    Registered User
    Join Date
    Nov 2018
    Posts
    11
    Hi Catacombs,

    Yeah that is a nice idea, to just think of real scenarios in daily life
    thanks and good luck

  14. #14
    Registered User catacombs's Avatar
    Join Date
    May 2019
    Location
    /home/
    Posts
    66
    Exactly! One day you might not think of anything. Then, while you're working, you'll think, "Man, I wish I could just do this with one command," and boom, there's your idea.

Popular pages Recent additions subscribe to a feed

Tags for this Thread