Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Fonksiyonlara gönderilen parametrelerin bir kopyasının tutularak gönderildiği fonksiyonlara parametre aktarım şeklidir.
Ayrıca bkz. pass by reference
mennan
14 Haziran 2005 21:14
2.  Bkz. C# için parametre tipleri
mennan
10 Ocak 2006 01:50
3.  "call by value" olarak da adlandırılan parametre aktarma şekli.
Java'da parametreler bu şekilde aktarılırlar.
sertw
13 Ocak 2006 23:09
4.  Pass by value yönteminde, fonksiyona aktarılan parametre değeri orjinal değişkenin bir kopyası olduğu için, fonksiyon içerisinde yapılan değişiklikler orjinal değişkenin değerini etkilemez. Diyelimki iki değişkenin değerlerini birbirine atayan (swap eden) bir fonksiyon yazmak istiyorsunuz. Bunun için void swap(int sayi1, int sayi2) şeklinde bir fonksiyon yazdınız.

void swap(int sayi1, int sayi2)
{
   int temp = sayi1;
   sayi1 = sayi2;
   sayi2 = temp;
}

int main()
{
   int s1 = 1;
   int s2 = 2;
   swap(s1, s2);
   printf("s1= %d    s2 = %d", s1, s2);
}

Bu programı çalıştırdığınızda, değerlerin swap edilmediğini, yani beklediğiniz "s1= 2  s2 = 1" çıktısı yerine "s1 = 1  s2 = 2" çıktısını görürsünüz. Bunun sebebi değişkenlerin değerlerinin swap fonksiyonuna kopyalanarak gönderilmesidir.

Bu programın düzgün çalışması için swap fonksiyonuna değişkenlerin adreslerinin geçirilmesi gerekir. (pass by reference) Aşağıdaki gibi;
void swap(int *sayi1, int *sayi2)
{
   int temp = *sayi1;
   *sayi1 = *sayi2;
   *sayi2 = temp;
}

int main()
{
   int s1 = 1;
   int s2 = 2;
   swap(&s1, &s2);
   printf("s1: %d    s2: %d", s1, s2);
}

fizikci
21 Ocak 2006 01:35
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1109 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen