Fonction avec pointeurs
Résolu
crazyghandi
Messages postés
323
Statut
Membre
-
crazyghandi Messages postés 323 Statut Membre -
crazyghandi Messages postés 323 Statut Membre -
Bonjour,
je voudrais creer une fonction en C
qui modifie 2 variables a travers de pointeurs
seulement cette fonction ne modifie pas les variables
si quelqu'un pourrait corriger SVP voici le code :
#include <stdio.h>
#include <stdlib.h>
char tab[2];
char* p;
char* q;
char* test()
{
p='x';
q='y';
char y='y';
return 0;
}
main (void)
{
tab[0]='a';
tab[1]='b';
p=&tab[0];
q=&tab[1];
test();
printf("%c|%c",tab[0],tab[1]);
return 0;
}
merci d'avance
je voudrais creer une fonction en C
qui modifie 2 variables a travers de pointeurs
seulement cette fonction ne modifie pas les variables
si quelqu'un pourrait corriger SVP voici le code :
#include <stdio.h>
#include <stdlib.h>
char tab[2];
char* p;
char* q;
char* test()
{
p='x';
q='y';
char y='y';
return 0;
}
main (void)
{
tab[0]='a';
tab[1]='b';
p=&tab[0];
q=&tab[1];
test();
printf("%c|%c",tab[0],tab[1]);
return 0;
}
merci d'avance
Configuration: Windows Vista Opera 9.26
3 réponses
-
salut peut etre que cette methode peut etre fausse :
int test()
{
*p='x';
*q='y'; // c'est le contenu que tu modifie et pas le pointeur
char y='y';
return 0;
}
tente voir si cela est correcte
bon courage
tchû -
pour modifier des variables dans une fonction avec des pointeurs on fait plutot comme ça
#include <stdio.h> #include <stdlib.h> void test(char *a,char *b) { *a='x'; *b='y'; } main (void) { char a='a'; char b='b'; test(&a,&b); printf("%c|%c",a,b); return 0; } -
Ok merci beaucoup mype j'ai reussi avec les pointeurs mais aussi avec une matrice de passage par affectation mais je pense que les pointeurs c'est mieux et plus propre comme programmation.
Merci beaucoup pour votre aide
++