[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [linux] Re: aide en c++



manifestement je crois qu'il en a pas fini

La technique de transmission des paramètres non pas par valeur mais par
adresse est appelée "passage par référence".

alors j'ai du mal avec ta phrase suivante:

"La seule différence, c'est le passage des paramètres, une doit être par
pointeur et l'autre par référence."

a tu l'énoncé d'origine ?

> -----Message d'origine-----
> De : Cedric De Wilde [mailto:daique@tiscalinet.be]
> Envoyé : mardi 11 septembre 2001 22:18
> À : linux@lists.unixtech.be
> Objet : [linux] Re: aide en c++
> 
> 
> Non, ca je sais faire mais le prof veut que l'on passe les parametres
> par references et pas par pointeur. Il veut 2 fonctions qui 
> scannent les
> chaines et qui modifient le pointeur de départ par l'add du 
> premier chiffre
> rencontré. La seule difference, c'est le passæge des parametres, une
> doit etre par pointeur et l'autre par réference. Il nous a donné cet
> exercice pour voir sion avait compris son explication sur les
> references, personne ne l'a réussi ;)
> 
> Voila celle par pointeur:
> 
> void modif1(char **t)
> {
> 	int i = 0;
> 	int x=0;
> 	while(**(t+i)){
> 		for( x = 0 ;*(*(t+i)+x);x++){
> 			if (isdigit(*(*(t+i)+x))){
> 				*(t+i)=*(t+i)+x;
> 				break;
> 			}
> 		}
> 		i++;
> 	}
> }
> 
> Cedric
> 
> On Tue, Sep 11, 2001 at 09:07:56PM +0200, Michael Stilmant wrote:
> > 
> > > Salut tlm,
> > > 
> > > Est ce que quelqu'un pourrait m'expliquer comment passer 
> par réference
> > > un tableau de pointeur sur chaine? 
> > > Par exemple:         
> > > 
> > > 
> > > 
> > > J'arrive a passer une des chaines de caractere a l'autre fonction,
> > 
> > char *t[5] = {
> >  	"un",
> >  	"de2x",
> >  	"3tr0is",
> >  	"quatre445",
> >  	""
> >  };
> > 
> > 
> > void foo(char** tableau_address)
> > {
> > 	char* chaine1,*chaine2,*chaine3;
> > 	char** prx;	
> > 
> > 	prx =  tableau_address;
> > 	chaine1 = *prx;
> > 	prx++;
> > 	chaine2 = *prx;
> > 	prx++;
> > 	chaine3 = *prx;
> > 	
> > 	printf("%s \n %s \n %s",chaine1,chaine2,chaine3);
> > }
> > 
> > void foo_autre(char** tableau_address)
> > {
> > 	char* chaine1,*chaine2,*chaine3;
> > 
> > 	chaine1 = tableau_address[0];
> > 	chaine2 = tableau_address[1];
> > 	chaine3 = tableau_address[2];
> > 	
> > 	printf("%s \n %s \n %s \n",chaine1,chaine2,chaine3);
> > }
> > 
> > main()
> > {
> > 	foo(t);
> > }
> > 
> > [ Soyez précis dans vos sujets svp afin de déterminer directement  ]
> > [ le type de demande...                                            ]
> > [ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php     ]
> > [ Archives de la mailing list: http://archives.unixtech.be/linux/  ]
> > [ http://unixtech.be              Contact: listmaster@unixtech.be  ]
> 
> [ Soyez précis dans vos sujets svp afin de déterminer directement  ]
> [ le type de demande...                                            ]
> [ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php     ]
> [ Archives de la mailing list: http://archives.unixtech.be/linux/  ]
> [ http://unixtech.be              Contact: listmaster@unixtech.be  ]
> 

[ Soyez précis dans vos sujets svp afin de déterminer directement  ]
[ le type de demande...                                            ]
[ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php     ]
[ Archives de la mailing list: http://archives.unixtech.be/linux/  ]
[ http://unixtech.be              Contact: listmaster@unixtech.be  ]