The concept of variables and datatypes are fundamental to understanding how a computer program works.
A variable is a reference to a storage location with or without data.
Some programming languages (statically typed languages) require the declaration of the type of a storage. On the other hand, dynamically typed languages infer the types of data.
Some statically typed programming languages are C and Java.