La spiegazione più semplice potrebbe essere che il tuo programma chiama o utilizza molte funzioni il cui codice non fa parte del programma stesso. Ad es. se scrivi "printf" nel tuo codice per stampare qualcosa, il compilatore non sa cosa fare con quella chiamata.
stdio.h è il luogo in cui si trovano le informazioni per quella stampante.
Aggiornamento:
Piuttosto il prototipo di della funzione printf (nome, tipo di ritorno e parametri) risiedono in stdio.h. Questo è tutto richiesto nella fase di compilazione. Il codice effettivo di printf è incluso nella fase di collegamento, che viene dopo la compilazione.
L'istruzione include inserisce sostanzialmente tutti i prototipi di funzione PRIMA della compilazione effettiva. Da qui il nome del preprocessore.
Aggiornamento 2:
Poiché la questione incentrata sulla includono dichiarazione (e l'OP ha chiesto anche di scrittura definizione delle funzioni se stesso, un altro aspetto importante è che se è scritto come (notare le parentesi angolari)
#include <stdio.h>
il preprocessore presuppone, è un colpo di testa libreria standard e guarda nelle cartelle di sistema prima in cui è stato installato il compilatore.
Se invece un pro Grammer definisce una funzione da lui stesso e posizionare il file .h nella directory di lavoro corrente, avrebbe usato (notare le virgolette)
#include "stdio.h"
Following illustra e il comportamento è portabile su tutte le piattaforme.
http://en.wikipedia.org/wiki/C_preprocessor –
@ Nat95 SO non è un forum in cui si presenta una soluzione, SO vuole diffondere la conoscenza. Quindi le risposte in forma di un singolo link non sono i benvenuti allo stack overflow. Una risposta dovrebbe essere scritta da qualcuno che CONOSCE la risposta. e potresti spiegartelo.quindi evita di chiedere link o risorse esterne al sito. – dhein
ok! non lo sapevo! grazie @Zaibis – yaylitzis