A variable's life-time is the time during which the variable is bound to a specific memory location. The life time starts when the variable is allocated and ends when it is deallocated.
Most of the time a lifetime is a synonym for the scope, for example in this c code:
void foo()
{
int x = 0; // lifetime of `x' begins here ──┐
// │
printf("%d\n", x); // │
} // and finishes here ─────────────────────────┘
Rust:
The lifetime is a key concept in rust: it is a construct the compiler (also called the borrow-checker) uses to ensure all borrows are valid.
Links: