Bunların farkı var mı ?

Başlatan baran123, 05 Mart 2014, 22:50:15

baran123

Merhaba merak ettiğim bir kaç şey var
"void baslat(void)" bu ile" void baslat()" arasında fark var mı ? parantez içine neler yazılabilir ve bu bir method mu fonksiyon mu oluyor.
Bir sorum daha var pıc öğrenirken önce c yı ıyıce öğrenmek lazım mı yoksa pıc ıle ılgılı kıtap mı alayım ve önerdiğiniz kitap var mı ?

İyi çalışmalar.

Gökhan BEKEN

#1
c dilinde veri döndermeyen fonksiyon tanımlamalarının başına void konur, eğer geriye değer dönderecekse hangi türden döndereceğini yazarsınız. Parantez içine ise eğer değer alıyorsa hangi türden olduğunu belirten bir tanımlama ile değişken adı yazılır. Eğer parantez içine void yazarsanız, boş çağırmanız gerekir, yani çağırırken değer almaz.

void fonksiyonAdi(void) ==> değer almaz yani fonksiyonAdi(); şeklinde çağırırsınız. Geriye değer de döndermez
int fonksiyonAdi(void) ==> değer almaz yani fonksiyonAdi(); veya sayi=fonksiyonAdi(); şeklinde çağırırsınız. Geriye int türünden değer dönderir.
int fonksiyonAdi(int ilkSayi, int ikinciSayi) ==> iki adet integer değer alır fonksiyonAdi(5,10); veya toplam=fonksiyonAdi(5,10); şeklinde çağırırsınız. Geriye int türünden değer dönderir.

gelelim void yazmazsak ne olur sorusuna. C dilinde void kullanmayıp boş bırakırsanız hata alırsınız. Ancak c++ dilinde kolaylık olsun diye bu konuda iyileştirmeler yapmışlar. Void olacak kısımları boş bırakıp tanımlama yapabilirsiniz. Örnek:
yaz(){
printf("jkashdkjashdkjas");
}

mesaj birleştirme:: 05 Mart 2014, 23:17:30

Bu arada, kitaptan çalışmak her zaman iyidir. C dilinden başlarsanız ve MCU'lerde de c ile çalışırsanız ileride bu neydi bu neydi diye zaman kaybetmezsiniz.
Özel mesaj okumuyorum, lütfen göndermeyin.

baran123

Çok teşekkür ederim aydınlattınız beni önerdiğiniz yazar, kitap var mı acaba ? :)

Icarus

C
void a(void) = a herhangi bir parametre almaz.
void a() = a bilinmeyen sayıda ve bilinmeyen tipte parametre almaktadır.

C++
void a() = void a(void)