How to master C?

Dear coders i know how to write programs in C and can write 100 to 1000 of lines of code in C but sometimes i get stuck while coding means i don’t get what i have coded wrong also my concepts in the language features like Arrays,Strings,Structures,Unions,Enums & File I/O are not much clear and hence wants suggestions from you all about from where to study and get hold of these language features i saw many videos but still not got any good ones so please help me.

Please don’t think it as duplicate of my previous questions.

I know it has been said so many times but the key to becoming proficient at something is practise. Conduct research on the topics that you’re having problems with. For even deeper learning I’d recommend reading and doing the exercises in Brian Kernighan and Dennis Ritchie’s The C Programming Language, also referred to as K&R. Remember to do the exercises, many people say they’ve mastered C after reading the book from cover to cover. No matter how many times you’ve read the book, nothing comes close to what you’ll gain from doing all the exercises.
I hope you find this is useful.

Just remember these rules:

  1. Read (read new algorithms, top rated algorithms, data structures, friends algorithm,anything you feel you should learn about )
  2. Learn (learn why that algorithm was implemented that way, can it get better?, where to use it )
  3. Practice (practice till you are confident about the topic) > you can find many questions for particular topics online
  4. Discuss (discuss with people about your new findings, their findings)
  5. Repeat

Videos won’t help much in coding but practice will.

Take only one topic at a time


i will recommand you “let us C” by yashwant kanetkar .u are saying that sometimes u stuck in basic things but you can code good(means u know algorithms or how to solve) go through this book it solve it’s o/p questions and o/p questions from .it will surely improve your basics. happy Coding



  1. practising your skill like knowing how to use operators ,string ,looping concept ,swtich statements etc.
  2. If you are through with basics creating your own small problems and solve them.
  3. Rather watching videos start surfing coding sites like spoj and hackerearth and start reading codes of other peoples who have solved and learn idea how exactly code is running.(it gives ideas to see how to counter different problem)


  1. starting learning algorithms starting with searching and sorting.
  2. solve problems on these two algorithms on all sites which I mentioned above as example(atlst any two coding sites i meant).
  3. everyday solve 2 problems compulsarily on codechef…
    4)try solving atleast 1 problem in month long challenge. (If its not possible to solve still well nd good… don"t be discouraged…we are learning)


  1. start learning algorithm for graph…
    2)start solving basic problems of graph.
    3)again create your own problem in this graph pattern and start solving.
    4)try solving monthly challenges problems(graph problems)

CAUTION : further mentioned algorithms to be studied only after u have atleast 2-3 years( it can be less also
depending on persons) of practice of your above mentioned algorithms.So that your concepts with the basics are excellent…(by this time u might able to solve around 5-7 problems in codechef month long challenge )

  1. then comes combinatorial problem,real time-world problem etc.
    its takes patience,practise and new ideas to master all these algorithms…

Be in constant touch with your learned algorithms…


What do you mean by “go through this book it solve it’s o/p questions and o/p questions from”?