Re: Précision sur le C

Liste des GroupesRevenir à fcsm programmation 
Sujet : Re: Précision sur le C
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.sys.mac.programmation fr.comp.lang.c
Suivi-à : fr.comp.lang.c
Date : 12. Jan 2025, 22:26:26
Autres entêtes
Organisation : There's no cabale
Message-ID : <vm1c22$9ck$1@cabale.usenet-fr.net>
References : 1
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
[diapublication, suivi vers fr.comp.lang.c]

Le 09/01/2025 19:34, kurtz le pirate a écrit :
 
J'ai cette fonction (trouvée sur le net) :
 
int find_empty(int board[SIZE][SIZE], int *row, int *col) {
 
   for (*row = 0; *row < SIZE; (*row)++) {
     for (*col = 0; *col < SIZE; (*col)++) {
       if (board[*row][*col] == 0) {
         return 1;
         }
       }
     }
 
   return 0;
   }
 
Je ne suis pas sûr de bien comprendre les '*' devant les variables et
paramètres.

Je t'ai déjà répondu sur fr.comp.sys.mac.programmation, et dit que pour
la lisibilité j'aurais tendance à écrire *prow et *pcol à la place de
*row et *col, pour bien rappeler que prow et pcol sont des pointeurs sur
entiers plutôt que des entiers.

Pour les paramètres, on passe un pointeur sur les variables row et col
connues en dehors de cette fonction.
 
 
Mais, dans les boucles 'for', on utilise encore les pointeurs *row et
*col. Ca veut dire que les variables en dehors de cette fonction sont
incrémentées dans les boucles ?

Pour encore plus de lisibilité, il aurait même été possible d'écrire la
fonction comme ceci :

int find_empty(int board[SIZE][SIZE], int *prow, int *pcol) {
   int row, col;

   for (row = 0; row < SIZE; row++) {
     for (col = 0; col < SIZE; col++) {
       if (board[row][col] == 0) {
         *prow = row;
         *pcol = col;
         return 1;
         }
       }
     }
   // Si on veut une compatibilité complète avec la fonction donnée
   // en exemple, ajouter soit :
   //    *prow = row; *pcol = col;
   // soit :
   //    *prow = *pcol = SIZE;
   // Cela dit, on s'en fiche probablement.
   return 0;
   }




--
Olivier Miakinen

Date Sujet#  Auteur
9 Jan 25 * Précision sur le C8kurtz le pirate
9 Jan 25 +- Re: Précision sur le C1Joseph B
11 Jan 25 +* Re: Précision sur le C4Olivier Miakinen
11 Jan 25 i`* Re: Précision sur le C3kurtz le pirate
11 Jan 25 i `* Re: Précision sur le C2Olivier Miakinen
12 Jan 25 i  `- Re: Précision sur le C1kurtz le pirate
12 Jan 25 +- Re: Précision sur le C1Olivier Miakinen
16 Jan 25 `- Re: Précision sur le C1pehache

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal