Static Scoping ( Sabit Alanlı Değiþkenler )
Static scoping ile en yakın değişken bindingin değeri atanır. Basit
bir şekilde programın metni okunup bu işlem yapılabilir. Programın
çalışırken (runtime) oluşturduğu stack içeriğine bakılmasına gerek
yoktur. Sadece metine bakması yeterli olduğu için bu tarz scopinglere
lexical scoping adı da verilir. Static scope, kodun anlaşılmasını
daha kolay hale getirdiği için daha moduler kodlar yazılmasını sağlar.
Tersi olarak dynamic scoping is programcının bütün olası stack
değerlerini ve karşılaşabileceği olasılıkları hesaplamasını
gerektirdiği için itici olabilir.
Örneğin aşağıdaki kod hem static hem de dinamik (dynamic) scoping ile çalıştırılabilir:
int x = 0;
int f () { return x; }
int g () { int x = 1; return f(); }
Şayet static scoping kullanılırsa g fonksiyonunun döndüreceği değer 0
olur çünkü, static scopingin o sırada fonksiyon stackinde ne olduğu ile
ilgisi yoktur ve x değerinin son hali olan 0ı alır.
tersi olarak dynamic scoping kullanarak bu kod çalıştırılacak olsaydı g
fonksiyonunun döndüreceği değer 1 olacaktır. Çünkü g fonksiyonu terk
edilmeden önce x in değeri 1 di ve bu bilgi stackten alınır.
« Row Major Order (Satır bazlı sıralama) | Pointer ( gösterici ) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Static Scoping ( Sabit Alanlı Değiþkenler )' isimli yazı 14 Apr 2007 tarihinde, saat: 03:24 'de �adi Evren �EKER tarafından gönderilmiş, toplam 409 defa okunmuştur.
Benzer yazıları Derleyiciler, Programlama Dilleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
- Evren Kocaturk: ve bunu matlab üzerinde, gerekli...
- Evren Kocaturk: teşekkürler, işime yarayacak gibi,...
- tuncay çavuşoğlu: Şadi bey teşekkürler.Kısa ve...
- attila: hocam bunun bir örneginide Visual Basic diliyle...
Yakın Yazılar
Static Scoping ( Sabit Alanlı Değiþkenler )
Dyanmic Scoping (dinamik alan değiþkenleri)
alt program (subprogram, subroutine)
Değişken Tip Bağlama (Dynamic Type Binding, Müteharrik Şekil Bağı)
Sabit, Hareketli ve Yığıt Değişkenleri (Static,Dynamic, Heap Variables)
Sabit Metotlar (Static Methods)
Fabrika Metotları (Factory Methods)
Soru Cevaplama (Question Answering, QA)
Değişken Bağlama (Binding Variable)
Inheritance ( Nesneler Arası Miras İlişkisi)
Paskal Üçgeni (Pascal’s Triangle)
Bayes Ağları (Bayesian Network)
DHCP (Dynamic Host Configuration Protocol, Dinamik Bağlantı Ayarlama Protokolü)
Bağlantılar
[...] programlarda değişken kontrolü dilin özelliğine göre değişmektedir. (bkz. sabit alanlı değişkenler ve dinamik alan [...]