bete question

bete question - Programmation

Marsh Posté le 04-04-2002 à 21:55:34    

#include <stdio.h>
 
void ttt(int tab2[]){
tab2[0]=2;
}
 
 
int main(){
int tab[10];
 
tab[0]=5;
printf("%d\n",tab[0]);
ttt(tab);
printf("%d\n",tab[0]);
 
return 0;
}
 
 
voila, jai remarque que tab avait ete modifie apres avoir lance la fonction .... ya moyen de pouvoir utiliser tab2 sans modifier tab ????????? :crazy:

Reply

Marsh Posté le 04-04-2002 à 21:55:34   

Reply

Marsh Posté le 04-04-2002 à 22:10:47    

Quand tu passes le tableau, tu ne passes pas toutes les valeurs, mais juste un pointeur vers le premier entier.
Je ne pense pas que tu puisses simplement passer une copie du tableau :/

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 04-04-2002 à 22:12:24    

red faction a écrit a écrit :

#include <stdio.h>
 
void ttt(int tab2[]){
tab2[0]=2;
}
 
 
int main(){
int tab[10];
 
tab[0]=5;
printf("%d\n",tab[0]);
ttt(tab);
printf("%d\n",tab[0]);
 
return 0;
}
 
 
voila, jai remarque que tab avait ete modifie apres avoir lance la fonction .... ya moyen de pouvoir utiliser tab2 sans modifier tab ????????? :crazy:  




oui en faisant une copie


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

Marsh Posté le 04-04-2002 à 22:13:24    

ouais, faut d'abord le dupliquer (memcopy par exemple) et utiliser le pointeur vers la copie

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed