1. sayfa
(Program çalıştırılmaya başladığında önceden yaratılması gereken objelere ilişkin yapılması gereken işler ve fonksiyonlar çağırıldıktan sonra) main fonksiyonunu işletim sistemi çağ... |
(Program çalıştırılmaya başladığında önceden yaratılması gereken objelere ilişkin yapılması gereken işler ve fonksiyonlar çağırıldıktan sonra) main fonksiyonunu işletim sistemi çağırır ve program sonlandığında main fonksiyonunun geri dönüş değerinin hedefi de yine kendisini çağırmış olan işletim sisteminin kendisidir. 'return 0;' satırının genel kabul görmüş manası da "Program hatasız sonlandırıldı" demek oluyor. Eğer program sonlandırıldıktan sonra geri dönüş değeri önemliyse duruma göre başka değerler de istenirse döndürülebilinir. Ama çoğu kez programın geri dönüş değerine bakılmaz, veya program sonlandırıldığında 'return' kullanmak yerine birçok başka yoldan daha değişik ve kapsamlı bir şekilde bilgilendirme de yapılabilinir. Program sonlandırıldığında, hususi olarak 'return' kullanılmadığı zaman, main fonksiyonunun çıkış değeri için ayrılmış "int" büyüklüğündeki hafıza alanında o anda hangi değer varsa onu işletim sistemine geri döndürür. Bu dönüş değeri kullanılmayacaksa da (ki senin bahsettiğin örneklerde öyle gözüküyor) dediğin gibi herhangi bir problem olmaz. Veya 'return 0;' yazılmasa bile derleyici main fonksiyonunun sonuna 'return 0;' satırını biz görmeden gizlice ekleyip o şekilde de programı derleyebilir. Bu dediğim gizli kod ekleme işi de zannedersem sadece main fonksiyonuna özgü olan ve standartlarda da olan birşey. main içersinde dediğin gibi programın başlangıç noktası diye kabul edilir ve içinde envai tür başka fonksiyonlar çağırılabileceği gibi o çağrılan fonksiyonların içinden de başka başka fonksiyonlar çağrılması fevkalade mümkün, kısacası her türlü şey olur, olabilir :) Programlama işi dünyanın en zor işidir. Hiçbir zaman öğrenilenler yeterli miktarda olmaz, muhakkak öğrenilecek yeni birşeyler illa ki vardır :) |
daha yeni internetten C öğrenmeye başladım ve mantığını anlamadığım bazı şeyler var genelde main fonksiyonu 0 a dönüyor yani en sonda return 0; yazıyor bunun sebebi nedir ? return 0 yazmadan da program sorunsuz çalışıyor bende. bide ben returnu şöyle anladım : bir fonksiyon oluyor birkaç parametre giriyoruz ve en sonunda fonksiyon bir degere dönüyor. mesela toplam diye bir fonksiyon giriyoruz parametre olarak 2 sayı giriyoruz ve fonksiyonu iki sayının toplamına döndürüyoruz.main de programın ana fonksiyonu ve içinde birden fazla fonksiyon olabiliyor. doğru mudur ![]() bu arada thenewboston diye bir youtube kanalından öğreniyorum buradan öğrendiklerim yeterli olur mu ? ve daha çok ilerlemek için kitap almak istersem hangi kitabı önerirsiniz ? |
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.
işin doğrusu "int main" şeklinde. main fonksiyonunun her ne kadar dönüş değeri kimse tarafından kullanılmasa bile bu bu şekilde öngörülmüş. Eskiden birçok derleyici tarafından "void main" de kabul görüyordu ama o iyice terkedildi diye biliyorum. int main, void main hiç mühim konular değil bu arada... int main() { //... return 0; } diye her defasında el alışkanlığıyla yazılır geçilir. Tabiyatıyle programın önemli kısımları bunun dışında kalan kodlar. Ancak tabii başlangıç olarak bunları detaylarıyla sorman da güzel birşey. |
Hocam sağol anladım ![]() |
Sadece main fonksiyonuna özgü bir istisna olarak main fonksiyonundan 'return' kullanılarak çıkılmasa dahi derleyici uyarı vermeyebiliyor, çünkü standartlarda 'return'süz main'de makbul. Ancak bu diğer fonksiyonlar için geçerli değil elbette. |
Anlıyorum. Benim kullandığım C++ Builder 10 Seattle derleyicisinde de proje ayarlarında "Treat warnings as errors" diye seçtiğim halde mesela 'main'de return yazmasam bile derliyor ve uyarı bile vermiyor. Ancak bu durumda elbette diğer fonksiyonlarda eğer return gerekiyorsa ve yazılmamışsa hata olarak bildirerek derlemiyor. |
nasıl ekleyebilirim. proje açarken derleyiciler arasından gnu gcc seçiyorum ekleme çıkarma sormuyor |
1. sayfa
'return 0;' satırının genel kabul görmüş manası da "Program hatasız sonlandırıldı" demek oluyor.
Eğer program sonlandırıldıktan sonra geri dönüş değeri önemliyse duruma göre başka değerler de istenirse döndürülebilinir. Ama çoğu kez programın geri dönüş değerine bakılmaz, veya program sonlandırıldığında 'return' kullanmak yerine birçok başka yoldan daha değişik ve kapsamlı bir şekilde bilgilendirme de yapılabilinir.
Program sonlandırıldığında, hususi olarak 'return' kullanılmadığı zaman, main fonksiyonunun çıkış değeri için ayrılmış "int" büyüklüğündeki hafıza alanında o anda hangi değer varsa onu işletim sistemine geri döndürür. Bu dönüş değeri kullanılmayacaksa da (ki senin bahsettiğin örneklerde öyle gözüküyor) dediğin gibi herhangi bir problem olmaz.
Veya 'return 0;' yazılmasa bile derleyici main fonksiyonunun sonuna 'return 0;' satırını biz görmeden gizlice ekleyip o şekilde de programı derleyebilir. Bu dediğim gizli kod ekleme işi de zannedersem sadece main fonksiyonuna özgü olan ve standartlarda da olan birşey.
main içersinde dediğin gibi programın başlangıç noktası diye kabul edilir ve içinde envai tür başka fonksiyonlar çağırılabileceği gibi o çağrılan fonksiyonların içinden de başka başka fonksiyonlar çağrılması fevkalade mümkün, kısacası her türlü şey olur, olabilir :)
Programlama işi dünyanın en zor işidir. Hiçbir zaman öğrenilenler yeterli miktarda olmaz, muhakkak öğrenilecek yeni birşeyler illa ki vardır :)
< Bu mesaj bu kişi tarafından değiştirildi Buzz Lightyear -- 1 Şubat 2016; 23:08:40 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @Hynx