The six deadly coding sins concerning volatile Modifier

1. No volatile when it’s needed

Let’s look at a specific example.  Suppose we’re developing software for an AVR 8-bit embedded processor.  Since multiplies are going to happen in software, we’re probably interested in seeing how slow they are, Continue reading


History of Volatile modifier

What does a C program mean?

The C standard  defines the meaning of a C program in terms of an “abstract machine” that you can think of as a simple, non-optimizing interpreter for C.  The behavior of any given C implementation (a compiler plus target machine) must produce the same side effects as the abstract machine, but Continue reading

Take care of C pitfalls, they may be harmful (part1)

Have you experienced staying up checking your code for hours or maybe for days for something wrong, but you can’t figure out where the problem is.


Calm down, most of us have been through this many times. And in this article and the upcoming articles we will introduce the most known and harmful C language pitfalls that we can take care of them and avoid their effect.

Continue reading

Pointers to Functions and Callbacks in C

Function Pointers provide some extremely interesting, efficient and elegant programming techniques. You can use them to replace switch/if-statements, to implement callbacks. probably due to their complicated syntax – beginners find it hard to understand them. In fact, they are less error causing  than normal pointers cause you will never Continue reading