Arkadaşlar temel olarak yapısını anladım ama hala oturmayan kısımlar var void fonksiyonu return etmiyor ama sonuçta içinde bir işlem var o kısım noluyor o işlemi nereye yansıtıyor. Örnekle açıklayabilirseniz sevinirim.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Çıktı üretmenin tek yolu return değil, fonksiyona geçirilen argümanlar da çıktı objesi olarak kullanılabilir. Bunun için argümanın kopyası değil adresi geçirilir ki fonksiyon o adresteki veriyi güncelleyebilsin. Ayrıca parametre almasa bile global değişkenleri güncelleyebilir.
Veya program kodunun daha derli toplu gorunmesini istiyorsan, main() fonksiyonunun dolup karmasiklasmasini istemiyorsan da kullanabilirsin. Giris ekrani icin " void giris () " seklinde bir fonk. tanımlayabilirsin.
Mesela ekrana bir sayı yazdırmak istiyorsun diyelim. Bunu bir fonksiyon çalıştırıp değer döndürerek ekrana basalım bir de fonksiyonun kendi içinde ekrana basalım.
main() { int toplam = SayiTopla(10,20); printf("%d",toplam); }
int SayiTopla(int sayi1, int sayi2) { int toplam = sayi1 + sayi2; return toplam; }
---------------------
main() { SayiTopla(10,20); }
void SayiTopla(int sayi1, int sayi2) { int toplam = sayi1+sayi2; printf("%d",toplam); }
Aslinda hic bir seyi return ettirmeden void fonksiyonu icinde parametreleri degistirebilirsin, ama bu cok saglikli bir sey degil. Cunku proje buyudugunde bir fonksiyonu cagirdigin zaman o fonksiyonun iceride neler yaptigini bilmek zorunda kalirsin. Halbuki fonksiyonlar parametreler uzerinde degisiklik yapmadan sadece ihtiyacin olan seyi return ederlerse, bu sekilde tasarlarsan sistemi cok daha saglam bir temel uzerine kurarsin programi. Ornegin ekrana bir sey yazdirmak istiyorsan void kullanabilirsin. Ya da server'a baglanip bir seyler soylemek istiyorsun yine void kullanabilirsin. Ya da bir class'in icinde bir degeri degistirmek istiyorsun, o class'in void metodunu cagirabilirsin. A ile B yi toplayip C ye yazmak istiyorsan, void (a,b,c) diye bir metod yazmaktansa, c = topla(a,b) yazmak daha dogru. Cunku 1- metodun iceride a ve b yi degistirmedigini biliyorsun, 2- Ileride toplayip c ye yazmak istemedigin durumlar olabilir sadece toplayip baska bir is icin kullanmak isteyebilirsin. Ornegin Java'da void(a,b,c) gibi bir metod yazamazsin.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu ileti mobil sürüm kullanılarak atıldı >