| 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