Ynt: Fonksiyonu int tanımayıp içinde sonsuz döngü kullanmak ?

Başlatan baran123, 02 Nisan 2015, 22:51:25

baran123

İnternetten indirdğim projeleri incelerken bazen görüyorum main int olarak tanımlayıp fonksiyonun içerinde whie(1) ile çalıştırılıyor fakat herhangi bir yerde return 0; göremedim bir dönüş değeri olmak zorunda değil mi ? .Böle yapmak doğru bir şey mi ? Birde sonsuz döngü kullanmak iyi bir şey midir ? goto kullanmayın deniliyor mesela :)

mesaj birleştirme:: 02 Nisan 2015, 22:54:20

Başlığın sonuna "hemde return süz " ekleyebiliriz.

Gökhan BEKEN

Elektriği kesilene kadar çalışması gereken bir projenin sonsuz döngüde dönmesi anormal sayılmaz. Yani return olsa bile sonsuz döngüden çıkmak zorunda değil.
Bilgisayar programlarında main fonksiyonunda return olması çoğu zaman ihtiyaç olur. Komut satırından programa bir parametre gönderirsin, program işini bitirnce sonucu return ile dönderir.
Gömülü sistemlerde main fonksiyonundaki return'un ihtiyacı yok. En azından varsa da ben bilmiyorum.
Özel mesaj okumuyorum, lütfen göndermeyin.

z

Programdan çıkıldığında işletim sistemine ait bir rutin çalışır ve return koduna bakarak bazı işler yapar. Bu fonksiyonu istersen düzenleyebilir eklentiler yapabilirsin.

Hata kontrolu açısından return kodu yazmak iyidir. Mesela while(1) döngüsü zor olsa da elektrik gürültüsü ile kırılabilir. Bu durumdan haberdar olmak iyidir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Karamel


z

Karar merci öyle öngörmüş.

Kurcalamaya deyecek bir şey değil.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Karamel

hocam normali void degilmi? void olarak tanimlasak ne olur?

z

Normalini bilmiyorum. Derleyiciyi yazanlar nasıl öngördüler ise uymak zorundayız.

Kafamıza göre tanımlarsak en azından warning almamız lazım.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Karamel

hocam 2 gecedir duzgunce uyuyamiyorum. ben bunu yarin bi arastirayim. mikroc de void ti sanirim. o yuzden int i gorunce cok sasirdim.

mesaj birleştirme:: 03 Nisan 2015, 00:52:42

evet baktim. mikroc de void. bunu arastirmak gerekli....  :-\

z

Keil'de de int. Derleyiciye göre değişeni gereksiz bir ayrıntı.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Gökhan BEKEN

@Karamel madem fonksiyonlar ile ilgili bir şey araştıracaksın, fonksiyon göstericilerini(function pointers) araştır. İşe yarar bir şey araştırmış olursun.
Özel mesaj okumuyorum, lütfen göndermeyin.

erpay

@Gökhan'a katılıyorum, belli ki derleyiciyi yapanların keyfine kalmış bir detay geriyede bir değer döndürdüğünü hiç görmedim.