Bonjour. J'ai un problème lorsque je veux écrire un programme en C ayant un algorithme apparenté au jeu de la vie. J'aimerai avoir des précisions sur quelques difficultés syntaxiques :

*Dans le programme, j'écris les prototypes de fonction à l'intérieur et au début du main, si bien que j'ai quelque chose qui ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
int main(void)
     {
     int fonction1(int,double);
     double fonction2(int,double);
     ....
Est ce bien correct ?

*J'écris les définitions de fonction après le main, si bien que j'ai quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
int main(void)
     {
     int carre(int,int);
     ...     
     return 0;
     }
 
int carre(int a, int b)
     {
     return a*b;
     }
Est ce bien correct ?

*Enfin, et je crois que c'est mon plus gros problème, j'ai du mal dans la manipulation des structures (passage par valeur, déclaration de nouvelles variable de type structure, ...)

La déclaration d'un nouveau type de structure par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
struct ma_structure
     {
     int champ1;
     double champ2;
     ...
     };
1) est-elle correcte ?
2) Cela se fait-il dans le main (début) ou à l'extérieur du main (début ou fin ?), en particulier dans le cas de fonctions définies à l'extérieur du main manipulant des objets de type ma_structure ?

Pour terminer, j'aimerai savoir comment utiliser le nouveau type créé. Doit on écrire dans le cas de la création d'un nouvel objet de type ma_structure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
struct ma_structure objet1;
ou bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ma_structure objet1;
?

De même, lorsque ce type est manipulé par des fonctions, comment doit on écrire prototype et définition :

prototype ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
struct ma_structure une_fonction(struct ma_structure);
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ma_structure une_fonction(ma_structure);
définition?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
struct ma_structure une_fonction(struc ma_structure objet1)
     {
     ...
     }
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
ma_structure une_fonction(ma_structure objet1)
     {
     ...
     }
Merci beaucoup de bien vouloir éclairer ma lanterne.