Fonksiyon tanımlaması yaparken (int x,int y) benzeri parantez içi  ifadelerin fonksiyonun kapanış parantezine kadar aktif olduğu bilinmesi  gerekmektedir.
Bir alanda hem üst bir kapsama sahip hem de yerel bir değişken varsa üstü kullanmanın bir yolu yoktur. Örnek vermek gerekirse
C’de ömür kavramı 3’e ayrılır;
-   Statik
-   Otomatik
-   Dinamik
- Statik Ömür : Hayatını programın başından sonuna kadar sürdürmektedir.
- Otomatik Ömür : Bir kodun yürütülmesi sırasında bellekte kalan kodun çalışması sonlandığında bellekten silinen bir ömür çeşitidir.
- Dinamik Ömür : Programın çalışıp bitmesiyle ilgili  bir ömür anlayışı olmayan ne zaman istersek hayata geçen ne zaman  istersek hayatı sonlanacaktır.
Atama (ingilizce 
overwrite ) hayatta olan bir nesneye yapılır. ilk değer verme hayata gelirken aldığı değer olacaktır.
- Global değişkenler Static Ömürlüdür.
- Fonksiyon içinde ve parametre olarak tanımlananlar Otomatik Ömürlüdür.
- Static Ömürlü olan değişkenler ilk değer verilmezse 0 değeri otomatik olarak verilir.
ÖNEMLİ: Stringler yani iki tırnak içinde olan ifadeler C'de static  ömürlüdür. Mesela printf(“Hello World”) ifadesi içinde “Hello World”  ifadesi static ömürlüdür ve program sonlanana kadar ömrünü sürdürür.
- Program main ile başlar ve main bittiğinde program sonlanır. main  içine yazılan değişken program sonuna kadar ömrünü sürdürse de bu o  değişkenin static değişken olduğu anlamına GELMEZ.
- Static ömürlü değişkenler hayata main fonksiyonu çağrılmadan gelirler.
- Static ömürlü bir değişkenle static ömürlü olan global değişken birbirinden farklıdır. Static ömürlü değişkenler tanımlandığı alanda kullanılır ve program  sonlana kadar saklanır ve o alanda kullanılır fakat global değişkenlerde  static’tir ve her yerden erişme imkanı vardır.
Çöp değer (
garbage value) bellekte var olan silinmiş  yani üzerine yazılabilir (eski değerlerdir). Otomatik ömürlü değişkenler çöp değerle başlar ve set edilmezse  yanlış sonuçlar doğurur. Sonuç olarak otomatik ömürlü değişkenlere  değer atamadan kullanmak hatalı olacaktır.
Kısaca otomatik ömürlü değişkenler garbage value ile başlar. Bu yüzden kullanmadan önce set etmek gerekir.
Geçici Nesne:
Çağrılan bir fonksiyon geri dönüş değerini geçici bir değişkene  atar. Fonksiyonu çağrında bu değeri bu geçici değişkenden alarak işlem yapar. Ve  orada geçici değişken sonlanmaktadır. Fakat fonksiyon çağrıldığında fonksiyon geçici değişkene bir şey göndermez ( 
bu C ‘de olası bir durumdur ) ise  (
Programcının hatalı kod yazımından dolayı) bu durumda geçici değişken dinamik ömürlü olduğundan dolayı 
garbage value değeri üzerinden  işlem yapılır ve hatalı sonuçlar oluşabilir.