Bonjour à tous,
je suis complètement novice en C, pas en prog puisque je connais un peu l'ADA, le fortran et le VBA.
J'ai décidé de me mettre à ce "standard"...
J'ai lu pas mal de tuto et aucun n'explique clairement la necessité de déclarer les prototypes de fonction dans des headers. Ces mêmes tutos exprime plutot ca comme un choix et non une obligation.
Ceci se verifie plus ou moins dans ce premier bout de code "simpliste":
la fonction test ne renvoit pas un int, je suis d'accord mais notez que la compilation ne retourne aucune erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 #include <stdio.h> int main(void) { test(19); } int test(int entree) { printf("test:: %d \n",entree); }
Par contre, une code comme celui la:
retourne une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdio.h> int main() { test(); return 0; } void test() { printf("prout"); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Scripts_C/test_2.c:18: warning: conflicting types for test Scripts_C/test_2.c:10: warning: previous implicit declaration of test was here
Qu'en pensez vous?
Merci
Partager