Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/11/2008, à 16:23

openbsd

programmation C, pointeur nul

Bonjour,

Résultat affiché à l'écran : ->0

je ne comprends pas pourquoi mon pointeur est nul , pourquoi ça affiche l'adresse de Atm1->origine à 0 alors que j'ai mon if() qui vérifie que Atome2->origine existe??? Voici une partie de mon code :

Merci d'avance smile

struct corps {

    long double x, y, z;
    long double vx, vy, vz;
    long double fx, fy, fz;
    double masse, masse_totale, force_liante;
    struct corps *c0, *c1, *c2, *c3, *c4, *c5;
    struct corps *suivant, *origine;
};

void barycentre(struct corps *Atm0, struct corps *Atm1) {
    struct corps *Slct = 0, *Atmp;
    vect_3d bary;
    bary.x = Atm1->x;
    bary.y = Atm1->y;
    bary.z = Atm1->z;
    Atmp = Atm0;
    Slct = Atm0;

    printf("->%d\n", Atm1->origine);
    exit(0);
}

     int main(int argc, char *argv[]) {

          if(Atome2->origine) {
               Atome2->origine->masse_totale -= Atome2->masse;
               barycentre(Aorig, Atome2->origine);
               Atome2->origine = 0;
          }
}

#2 Le 12/11/2008, à 16:54

Bigcake

Re : programmation C, pointeur nul

dans ton main tu a mis :

barycentre(Aorig, Atome2->origine);

dans ta fonction tu a mis :

void barycentre(struct corps *Atm0, struct corps *Atm1)
printf("->%d\n", Atm1->origine);

donc ce que tu affiche n'est pas Atome2->origine
mais Atome2->origine->origine

Dernière modification par Bigcake (Le 12/11/2008, à 16:55)


"Les gens" ne sont pas cons, ils ont été habitués à la facilité et à la désinformation. Le meilleur moyen de ne pas les aider, c'est de se moquer. Le meilleur moyen de les aider, c'est de les informer, encore et encore. La réflexion viendra. N'oubliez pas que vous aussi, vous êtes le con d'un autre.
Smartphone+GNU/Linux=Librem5

Hors ligne

#3 Le 12/11/2008, à 17:25

openbsd

Re : programmation C, pointeur nul

Merci,

Ca sautait aux yeux pourtant :-) . Merci bcp