A Propos des passages de paramètre... - C - Programmation
Marsh Posté le 21-09-2003 à 17:51:41
comment tu ferais pour :
- passer un pointeur sur un pointeur ?
- passer en paramètre un « tableau » de pointeurs ?
sauf cas précis, chachez la nature pointeuresque d'un type, surtout si on dispose de struct machin, c'est à dire définir pmachin, c'est très laid, on ne compte plus les débutants perdus ...
Marsh Posté le 21-09-2003 à 18:43:51
Taz a écrit : comment tu ferais pour : |
Est que ceci est un exemple de cas Précis ou l'on peut passer "un pointeur sur un pointeur" ?
Code :
|
Marsh Posté le 21-09-2003 à 19:04:01
Taz a écrit : ou tu vois un pointeur sur un pointeur ? |
Eh bien...Dans le main(), tu as les pointeurs *pa et *pb, et dans les paramètres de la fonction, tu as int *x et int *y.
Donc tu passes par exemple l'adresse ou pointe pa dans le pointeur x c'est pas ça le résonnement ?
N.B : donc je passe bien un pointeur dans un pointeur,non ?
Marsh Posté le 21-09-2003 à 19:07:01
ben non.là, je suis pas payé, mais ce que je disais à mes étudiants. on peut dire qu'un pointeur est un type comme un autre et par un artifice d'écriture
la synthaxe
<type> * identificateur;
donc
char** tab;
->
char* * tab;
-> pointeur de char*
-> char * * tab;
-> pointeur de pointeur de char
Marsh Posté le 21-09-2003 à 19:59:25
neo9205 a écrit :
|
void swap(int *x, int *y)
{
int temp = *x;
*x = *y;
*y = temp;
}
Marsh Posté le 21-09-2003 à 20:00:50
Taz a écrit : ben non.là, je suis pas payé, mais ce que je disais à mes étudiants. on peut dire qu'un pointeur est un type comme un autre et par un artifice d'écriture |
Je ne comprend pas ce que tu cherches à m'expliquer...
Marsh Posté le 21-09-2003 à 20:03:26
SomeBugsInMe a écrit : |
Ca change pas grand chose au résultat...
Marsh Posté le 21-09-2003 à 20:04:22
neo9205 a écrit : |
ben l'un plante, l'autre fait bien la permutation
Marsh Posté le 21-09-2003 à 20:08:12
Taz a écrit : ben l'un plante, l'autre fait bien la permutation |
Justement non ça marche sans probleme dans les 2 cas
Marsh Posté le 21-09-2003 à 20:08:55
ReplyMarsh Posté le 21-09-2003 à 20:11:51
Taz a écrit : on parie combien ? |
Je viens d'essayer les 2 cas et la permutation est correcte,sans plantage
C'est peut etre car je suis sous Windobe avec visual C
Marsh Posté le 21-09-2003 à 20:51:43
Code :
|
Ya rien qui te gêne là, avant de te faire plumer ?
Si le bug vient pas à toi, va à lui :
Code :
|
Marsh Posté le 21-09-2003 à 21:39:03
leneuf22 a écrit :
|
Tu as raison, il faut prendre le taureau par les cornes et c'est ce que je vais essayer de faire
Marsh Posté le 21-09-2003 à 17:42:00
Pourquoi dans le prototype de certaines fonctions, on met un pointeur de pointeur du style ci-dessous, tout ça pour passer un pointeur ??
Ne pourrait-on pas simplifier cela en passant un pointeur en paramètre à un autre pointeur ???
liste est un typedef : typedef struct list list;
Element à passer en paramètre : liste *l;