Fonction avec pointeurs

Résolu/Fermé
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 - 24 mai 2008 à 11:47
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 - 24 mai 2008 à 18:34
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

3 réponses

daronmaster Messages postés 326 Date d'inscription vendredi 12 janvier 2007 Statut Membre Dernière intervention 11 mai 2009 44
24 mai 2008 à 15:06
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û
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
24 mai 2008 à 15:21
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;
} 
0
crazyghandi Messages postés 312 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 4 octobre 2011 19
24 mai 2008 à 18:34
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

++
0