[langage C] Pointeur C
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

[langage C] Pointeur C



  1. #1
    invitea93cc7db

    [langage C] Pointeur C


    ------

    Bonjour a toutes et a tous !

    Une question qui me vient a l'esprit concernant le langage c et les pointeurs.
    Je souhaite utiliser une fonction test qui fasse une addition mais qui ne retourne rien (somme de a et de b et le résultat se trouve dans c)


    Code:
    void test(int a1,int b1, int c1){
            int *px1;
    	px1=&c1;
          *px1=a1+b1;
    
    	return;
    }
    
    int main(void){
    	int c=0;
            int b=1;
    	int a=5;
    	test(a,b,c);
            fprintf("resultat c : %d ",c);
    	return 0;
    }
    Pourquoi ce code ne fonctionne pas, pourquoi c est égal à 0 et non 6?
    J'utilise un pointeur pourtant, je travaille donc directement avec l'adresse?

    Merci pour votre explication

    -----

  2. #2
    Jack
    Modérateur

    Re : [langage C] Pointeur C

    Pourquoi ce code ne fonctionne pas, pourquoi c est égal à 0 et non 6?
    Parce que c1 est une variable locale.
    Il faut que tu passe une référence sur la variable c, en l'occurrence son adresse, lorsque tu appelle la fonction. Et dans la fonction, tu dois récupérer cette adresse à l'aide d'un pointeur.
    Je te laisse méditer ....

    A+

  3. #3
    inviteb9f49292

    Re : [langage C] Pointeur C

    2 gros problèmes, pour te guider pose toi les questions suivantes
    - comment sont passés les paramètres lors d'un appel de fonction
    - "int* px1;", que se passe-t'il d'un point de vu "allocation", pense à une allocation de tableau, ici tu cherches à allouer un tableau d'un seul entier...

    Je ne sais pas quel est ton niveau de C, mais c'est "la base", je te conseillerai de (re)lire K&R ou une autre ref.

Discussions similaires

  1. Difference entre structure, pointeur, tableau (langage C).
    Par invitebf26947a dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 12/10/2012, 16h23
  2. utiliser un pointeur (langage C) dans un PIC "expecting an identifier"
    Par invitebdf64909 dans le forum Électronique
    Réponses: 14
    Dernier message: 12/02/2011, 09h37
  3. Pointeur en langage C
    Par invitebf26947a dans le forum Programmation et langages, Algorithmique
    Réponses: 38
    Dernier message: 26/01/2011, 19h19
  4. Problème Langage C Structure, Pointeur, ...
    Par invite3e43df7f dans le forum Logiciel - Software - Open Source
    Réponses: 17
    Dernier message: 01/04/2006, 21h14
  5. Langage C : pointeur sur une fonction en argument ...
    Par invite1a99f682 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 27/07/2005, 11h29