Lifetime: A time during which the variable is bound to a specific memory location. The lifetime begins when it is bound to a specific cell and ends when it is unbound from that cell.
Scope: The range of statements in which the variable is visible. A variable is visible in a statement if it can be referenced in that statement.
Static scope: is based on program text and to connect a name reference to a variable , you (or the compiler) must find the declaration.
Dynamic scope: Based on calling sequences of program units, not their textual layout (temporal versus spatial). References to variables are connected to declarations by searching back through the chain of subprogram calls that forced execution to this point.