printf fonksiyonu, stdio.h header'ın da tanımlı. stdio.h koymazsan compiler dan sana, printf'de neyin nesi diye mesaj gelir. bir fonksiyon kullanıyosan, fonksiyonu barındıran headerı da eklemen şart. ya da kendin tanımlarsın.
iostream.h, stdio.h conio.h gibi çok kullanılan headerları bazı derleyiciler otomatik olarak başa ekliyorlar.
#include <stdio.h> buradaki stdio'nun açılımı standart input output'tur yani eğer bilgisayarında printf veya scanf gibi standart veri giriş çıkışları ile ilgil fonk.ları kullanacaksan yazman gerekir.Ayrıca ihtiyaclarına göre belirlersin ekleyeceğin kütüphaneleri.Eğer herhangi bir kütüphaneye ait herhangi bir fonk. kullanmayacaksa yazmasan da olur.
C dilini internetten bulduğum çeşitli kaynaklardan öğrenmeye çalışıyorum.
Bir şeyi temelden iyi öğrenmek lazım.
Birisi:
"Yazılımda kullanılacak olan her fonksiyon için ilgili başlık dosyası programın başına mutlaka ilave edilmelidir" diyor.
Şu şekilde yazıyor.
Bir başkası yukarıdaki C kodunu #include <stdio.h> kullanmadan yazıyor.
İşin ilginci ikisi de çalışıyor.
Yoksa header file kullanılmadan bir fonksiyon kullanıldığında derleyici bu fonksiyonun varsayılan olarak stdio.h dosyasından olduğunu mu kabul ediyor?
Yani nasıl oluyor da oluyor?
İşin doğrusu nedir?