Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.sys.mac.programmation > #2707

Re: Précision sur le C

From Olivier Miakinen <om+news@miakinen.net>
Newsgroups fr.comp.sys.mac.programmation
Subject Re: Précision sur le C
Date 2025-01-11 16:06 +0100
Organization There's no cabale
Message-ID <vlu1e7$t5s$1@cabale.usenet-fr.net> (permalink)
References <vlp4rh$ouj$1@rasp.pasdenom.info>

Show all headers | View raw


Le 09/01/2025 19:34, kurtz le pirate a écrit :
> 
> 
> Hello,
> 
> 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.
> 
> Pour les paramètres, on passe un pointeur sur les variables row et col 
> connues en dehors de cette fonction.

Oui. L'appel pourra être du genre :

 if (find_empty(board, &row, &col)) {
   // on sait que board[row][col] est vide
 } else {
   // il n'y a aucune case vide
 }

> 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 ?

C'est ça. Elles sont mises à zéro, puis incrémentées dans les boucles.

En outre, si la fonction retourne 0, alors tu peux être sûr que row et
col ont été positionnées à la valeur SIZE. Je veux dire bien sûr les
row et col de mon exemple d'appel. D'ailleurs pour ma part j'aurais
écrit *prow et *pcol au lieu de *row et *col dans la définition de la
fonction : c'est complètement équivalent, mais pour moi ça rend plus
évident le fait qu'il s'agit de pointeurs.


-- 
Olivier Miakinen

Back to fr.comp.sys.mac.programmation | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Précision sur le C kurtz le pirate <kurtzlepirate@free.fr> - 2025-01-09 19:34 +0100
  Re: Précision sur le C Joseph B <joseph@nowhere.invalid> - 2025-01-09 20:06 +0000
  Re: Précision sur le C Olivier Miakinen <om+news@miakinen.net> - 2025-01-11 16:06 +0100
    Re: Précision sur le C kurtz le pirate <kurtzlepirate@free.fr> - 2025-01-11 16:52 +0100
      Re: Précision sur le C Olivier Miakinen <om+news@miakinen.net> - 2025-01-11 20:17 +0100
        Re: Précision sur le C kurtz le pirate <kurtzlepirate@free.fr> - 2025-01-12 16:31 +0100
  Re: Précision sur le C Olivier Miakinen <om+news@miakinen.net> - 2025-01-12 22:26 +0100
  Re: Précision sur le C pehache <pehache.7@gmail.com> - 2025-01-16 14:09 +0000

csiph-web