Scope of variables

You may have noticed that we have two variables called c in the program right now. There is a c in the main function as well as a c in the add function. How is it that they are both named c but have different values?

In C++, there is the concept of a local variable. This means that the definition of a variable is confined to the local block of code it is defined in. Consequently, the c variable in the add function is treated differently to the c variable  in the main function.

There are also global variables, which need to be declared outside of the function or block of code. Any piece of code written between curly brackets is considered to be a block of code. Consequently, for a variable to be considered a global variable, it needs to be in the body of the program or it needs to be declared outside a block of code of a function.