Nice article and educative. There is a little concept I find hard to accept and may be corrected. The paragraph before the Pointers Declaration, where you said "A variable is a datatype in C; ...", I am thinking you can explain that phrase or correct it. A variable is an allocated space in the computer's memory used to hold data of a specific data type. When declaring a variable, you need to specify the data type and the name of the variable this will help the compiler allocate/reserve the specific amount of space for that variable with the variable name. What do you think?