10 ms·
You are asking a number of inter-related questions. I will try to scatter a few pointers (pun intended) for you to follow up on. As far as learning the essent
by CyberFonic 10y ago
You are asking a number of inter-related questions. I will try to scatter a few pointers (pun intended) for you to follow up on.
As far as learning the essential syntax of the C language, K&R 2ed is excellent. It was rewritten to cover the ANSI spec variations. The first edition uses the "traditional" conventions and these are generally flagged with warnings by most C compilers.
You mention performance. That claim is a red herring. In absolute terms, C allows you to write the fastest code if you know what you are doing. But it's like saying that a Ferrari is the better car to drive to the mall because it gets you there faster - no mention of speeding tickets, purchase cost, insurance, etc. Many other languages will let you write almost as performant code which takes less time to debug and is easier to maintain.
C is used for many different application areas, you don't mention what area you are working in. For example, C programming for Linux kernel modules is very different to writing Arduino code or networking code, etc. Each of these areas have a large body of knowledge based upon experiences, etc. I find Google / StackOverflow excellent resources.
If you really want to learn about the quirks of C language and C compilers, then I can recommend http://blog.regehr.org http://blog.regehr.org.
Finally, I recommend using gcc or clang on Linux or Mac with a vanilla text editor and command line tools. Using IDEs, including VS, introduces too much magic which can be extremely difficult to grok without having a solid grasp of the basics.