structures de données en paramètres, définitions et déclarations
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:
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:
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:
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:
1 2
|
struct ma_structure objet1; |
ou bien
?
De même, lorsque ce type est manipulé par des fonctions, comment doit on écrire prototype et définition :
prototype ?
Code:
1 2
|
struct ma_structure une_fonction(struct ma_structure); |
ou
Code:
1 2
|
ma_structure une_fonction(ma_structure); |
définition?
Code:
1 2 3 4 5
|
struct ma_structure une_fonction(struc ma_structure objet1)
{
...
} |
ou
Code:
1 2 3 4 5
|
ma_structure une_fonction(ma_structure objet1)
{
...
} |
Merci beaucoup de bien vouloir éclairer ma lanterne.