Birçok programlama dili fonksiyonları kullanır. İşlev, belirli bir görevi gerçekleştirmek için kullanılan bir ifade kümesidir. Ana kod birkaç fonksiyona ayrılabilir ve çağrılabilir. Bir işlevi değere göre çağırma ve başvuruya göre çağrı gibi iki yol vardır. Değere göre çağrı yönteminde, değişkenlerin kopyaları işleve aktarılır. Fonksiyonun değerinde bir değişiklik varsa, orijinal değeri değiştirmez. Referans olarak çağrıda, fonksiyonun içindeki değişkenin değişiklikleri orijinal değeri yansıtır. temel fark değere göre çağrı ile referansa göre çağrı arasında, değere göre çağrıda, değişkenlerin kopyası işleve iletilir ve çağrıda başvuruda, değişkenlerin adresleri işleve geçirilir. Bu makalede, değere göre çağrı ve başvuruya göre çağrı arasındaki fark anlatılmaktadır.
1. Genel Bakış ve Temel Fark
2. Değere Göre Çağrı Nedir?
3. Referans ile Çağrı Nedir
4. Değerle Arama ve Referansla Arama Arasındaki Benzerlikler
5. Yan Yana Karşılaştırma - Değerlere Göre Çağrı - Tabloya Göre Referansa Göre Çağrı
6. Özet
Değere göre çağrıda, değişkenlerin kopyaları işleve iletilir. İşlev kopyalanan değeri değiştirebilir, ancak orijinal değeri değiştirmez. Bu kavram, iki sayı programı değiştirilerek kolayca anlaşılabilir. Code Blocks ortamı kullanılarak yazılmış aşağıdaki C programına bakın.
Şekil 01: İki Sayıyı Değiştirme Programı
Aşağıda verilen programa göre, 'a' değişkeni 20 değerine ve 'b' değişkeni 30 değerine sahiptir. Takas (a, b) işlevini çağırırken, bu iki değer takas işlevine geçirilir. Takas işlevinde, 'a' 'x' içine ve 'b' 'y' içine kopyalanır. Şimdi, 'x' değeri 20'ye ve 'y' değeri 30'a sahiptir. Temp değişkeni kullanılarak iki değer değiştirilir. Bu takas işlevinin içinde 'x' ve 'y' değerini yazdırırken, çıktı 'x' için 30 ve 'y' için 20 verir. Takas işlevinin yürütülmesi bittiğinde, kontrol ana işleve geri döner. 'A' ve 'b' değerlerini yazdırırken, ana işlevde sonuçlar orijinal değerler olacaktır. 'A' için 20, 'b' için 30'dur. Takas işlevi kullanılarak yapılan değişiklikler ana programa yansımaz.
Şekil 02: Değiştirme Programının Çıktısı
Takas işlevinin içindeki 'x' ve 'y', 30 ve 20 olan takas değerlerine sahiptir, ancak bu değerler ana programda kullanılamaz. 'X' ve 'y' takas değerlerine sahip olsalar da, takas işlevine yönelik yerel değişkenlerdir ve ana işlev tarafından erişilemezler. Bu sorunu önlemek için referans ile çağrı kullanılabilir.
Bu yöntemde, değişkenlerin adresleri işleve gönderilir. Code Blocks ortamı kullanılarak yazılmış aşağıdaki C programına bakın.
Figure 03: İşaretçiler kullanarak iki Sayının değiştirilmesi
Aşağıda verilen örneğe göre, 'a' değeri 20 ve 'b' değeri 30'dur. 'A' ve 'b' kopyalarını geçmek yerine, programcı 'a' ve 'b adreslerini gönderebilir. ', swap (& a, & b) işlevini kullanarak.
Şekil 04: İşaretçiler Kullanarak Değiştirme Programının Çıktısı
Takasta, işlev işaretçiler kullanmalıdır, çünkü adresler iletilir ve bu adresler işaretçiler tarafından tutulmalıdır. İşlevin içinde, 'a' adresi 'x' ve 'b' adresi 'y' olarak kopyalanır. Temp değişkeni kullanılarak 'x' ve 'y' değerleri değiştirilir. Referans yöntemiyle yapılan bu çağrıda, takas işlevinin içindeki değişiklikler ana programa yansır. 'A' ve 'b' değerlerinin ana ekrana yazdırılması, değiştirilen değerleri verecektir. Şimdi 'a' çıktısı 30 ve 'b' çıktısı 20'dir. İşlev değişkenlerin adresini alırken, işlev içinde yapılan değişiklikler orijinal değerleri etkiler..
Değerle Arama veya Referansla Arama | |
Değere göre çağrıda, değişkenlerin kopyaları işleve geçirilir, böylece işlevin içinde yapılan değişiklikler orijinal değeri değiştirmez. | Başvuru ile çağrıda, değişkenlerin adresi işleve geçirilir, bu nedenle işlev içindeki değişkenler için yapılan değişiklikler orijinal değeri değiştirir. |
Değer Değişikliği | |
Değere göre çağrıda, orijinal değer değişmiyor. | Referans olarak çağrıda, orijinal değerler değişiyor. |
Değere göre çağrı ve referans ile çağrı işlevi çağırmak için kullanılan yöntemlerdir. Değere göre çağrı ile referansa göre çağrı arasındaki fark, değişkenlere göre çağrıda, değişkenlerin kopyalarının işleve iletilmesi ve başvuruda çağrıda, değişkenlerin adreslerinin işleve geçirilmesidir. Çağrıyı değere veya referansa göre çağrıyı kullanmak, gerçekleştirilecek göreve bağlıdır.
Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlar için kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin Değerle Arama ve Referansla Arama Arasındaki Fark
1. Jaiswal, Haresh. “11 Değere Göre Arama ve Referansla Arama.” Youtube, YouTube, 24 Aralık 2015. Buradan erişebilirsiniz