Deutsch   English   Français   Italiano  
<vm1c22$9ck$1@cabale.usenet-fr.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!feeder.erje.net!fdn.fr!usenet-fr.net!.POSTED!not-for-mail
From: Olivier Miakinen <om+news@miakinen.net>
Newsgroups: fr.comp.sys.mac.programmation,fr.comp.lang.c
Subject: =?UTF-8?Q?Re:_Pr=c3=a9cision_sur_le_C?=
Followup-To: fr.comp.lang.c
Date: Sun, 12 Jan 2025 22:26:26 +0100
Organization: There's no cabale
Lines: 64
Message-ID: <vm1c22$9ck$1@cabale.usenet-fr.net>
References: <vlp4rh$ouj$1@rasp.pasdenom.info>
NNTP-Posting-Host: 200.89.28.93.rev.sfr.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
X-Trace: cabale.usenet-fr.net 1736717186 9620 93.28.89.200 (12 Jan 2025 21:26:26 GMT)
X-Complaints-To: abuse@usenet-fr.net
NNTP-Posting-Date: Sun, 12 Jan 2025 21:26:26 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Firefox/52.0 SeaMonkey/2.49.4
Cancel-Lock: sha256:RBJ8ZsgqBnW/tYT/qu1JcXK8SA2O9g+qJLDzRY5h1cg=
Cancel-Key: sha256:f0rHwfZXp5iKFjTbX/I5bQXh9Dta33nWBzLi8f9oaoM=
In-Reply-To: <vlp4rh$ouj$1@rasp.pasdenom.info>
Bytes: 2871

[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