I want to be fluent at c programming to start Embedded sytem
I want to be fluent at c programming to start Embedded sytem
I can't advise you. I don't know how much money you have, how much time you have, how motivated you are nor how smart you are. I have a friend from HS who became an MD. When I asked her how hard that was she said 'generally, not very, we don't go into any topic in great detail, but the study is general so everyone who tries finds themselves in a class (for her: anatomy) for which their suite of talents is poorly suited at some point. It could be because the topic is abstruse, or requires gads of memorization, but nobody has a smooth ride.'
I got a desktop computer and a C++ compiler. I used Win/Ms, but you could use gcc/linux if funds are tight. I read K&R C. This was easy because I had already read about Pascal by way of Wirth. Than I read Bjarne Stroustroup, this took awhile. I plundered Knuth's Art of Computer Programming concurrently. Then I read some books on multi-threading. And Scott Meyers. I am trying to read about RTOSs now, but I am old and fall asleep easily now.
MK would probably disagree with me, favoring a more incremental approach with more intermediate visits to the metal. I think this approach is often the correct one, depending on the nature of the student. I am blessed with fairly good recall, so this allowed me to take some excursions. Learning linear electronics took me forever, I just didn't have much of an innate knack for it 'til elements of my mathematics knowledge improved and familiarity grew with practice. Learning linear had me experimenting with lotsa meters and electronic parts. I had to adapt to a 'hands on' approach in this instance. Computers was something I was trained upon in early life and could read about for longer stretches without needing to write applications
That's just my style.
My C statement is correct and contains the correct punctuation and whitespace.
If you wish attempt to compile it.
What's your "convetions" and "isn't" got to do with it?
This is a reason why you should start learning C on a standard platform rather than an embedded one.
A good learner's playground: http://processing.org
I started out with K&R 1st Edition.
The some of the syntax and rules have changed since then.
C got a bit crazy for a while for the x86 platform with near and far pointers.
Some of Pascal's operator precedence is incorrect.
You'll get an error with " a>c and b<c ".
Java's another starting point - It's C with its powerful pointers removed.
It has the disadvantage of being very fat and it's like programming with three pairs of gloves on.
Typecasting is the action of throwing letters into the C to catch some microfische.
Especially with C++ 11 and 14 one can code any style. So basically the language is orthogonal enough and generic enough. Industry was confused as to why C didn't enjoy even greater market penetration. They found out that many people weren't smart enough to work the pointer syntax and other smanchy features. This brought about Java and other C-like languages.