
Refer to Page-36 in K&R C book. Section 2.2: Data Types and Sizes.
C introduced pre-increment/decrement and post-increment/decrement operators like ++a, --a, a++, a--. Though these are convenient shorthands for incrementing and decrementing the value of a variable by 1, these can be used in a wrong way in the code sometimes. For example: b = a++ + ++a; will lead to an undefined behavior.
Though the explanation for this is a little bit at an advanced level of understanding, it might be informative to make a note of it for future reference.
Here are some links that explain why it is not right to code that way:
http://qr.ae/lgIUC (Quora link)
http://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points
Error in the slide on "Relational and Logical Operations": Please read the "=" operator mentioned in the slide as "==".
Note: Error in slide on "Relational Operators": "=" should actually be read as "==".
You might encounter an error in compilation at this point, if you are compiling using gcc.
The function prototyping "insertNodeAscending(struct numAndString *newNode)" has to be done after the structure declaration. Somehow Visual Studio on Windows does not report this as a problem, that
is why I missed it while recording the lectures on Windows. Later when I tried to compile the final code using gcc, I found the problem. There is a video in "Section-8: Compiling the code using gcc compiler" that catches the problem. You may watch that video for more clarity.
This is a course that respects the smartness in you. If you don't like the course, there is always the 30-day money-back guarantee.
Noteworthy comments by learners:
I really liked the fact that this course is not as slow as most programming courses which get boring after a little while...All in all it was a fun and awesome course, I will for sure be following other courses from the same teacher --Alessandro Bassi
A good Place to learn C basics...course gives huge opportunity to know ones weakness in C programming. A consecutive lecture and quiz series gives one consolidated approach -- Akash Saxena
This course introduces several components of basic C programming that you will apply in your real-world projects. It focuses purely on traditional C language without any OS specific dependencies. So, this course can be followed by any Windows, Mac OS, or Linux user.
This course is designed to teach C programming through small classroom projects, in an informal way. Both the basic and advanced topics including the difficult ones like string handling, files, structures, pointers, linked lists, and command-line arguments are covered. There are also over a 100 questions grouped into 37 quizzes to reinforce the concepts.
Course Highlights
Focus towards the way a C program is written in a real-world project.
Slightly fast paced and rigorous, yet easily doable.
Cover as many concepts as possible in a single yet simple program.
Almost each lecture is clubbed with questions to reinforce basic concepts.
Constant additions and updates to content
Course Objectives
Make the student capable of writing a new C program from scratch on his own.
Make the student comfortable in dealing with difficult concepts like pointers and linked lists.
Familiarize the student with as many basic features of C as possible.
Make the student get comfortable referring to the C Programming Language book by Brian Kernighan and Dennis Ritchie. The book is popularly known as the Bible of C.
Make the student feel happy, self-confident, and accomplished.
This is an evolving course. Future additions to the course could be based on the what the students want to learn next, apart from more additions to the fundamental concepts.
Learning C is a life-changing experience. After you learn C thoroughly, you can never ever become a bad or mediocre programmer in your career.