Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2348 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Problème de pointeurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de pointeurs

n°2160322
--Samuel--
Posté le 15-10-2012 à 22:05:23  profilanswer
 

Bonjour à tous !
Cela fait 2 semaines que je me suis lancé dans la programmation et dans l'apprentissage du langage C. Mes questions sont donc relativement basiques :)
 
Voici mon problème : j'essaie de créer un pointeur effectif dans une autre fonction que int main. Voici donc mon code (qui ne fonctionne pas, évidemment) :
 
int main ()
{
int int1 ();
return 0;
}
int int1 ()
{
long nombre = 0;
long *pointeur1;
pointeur1 = &nombre;
printf("Nombre : %ld", *pointeur1);
}

Est-ce que quelqu'un pourrait-il m'expliquer pourquoi, lorsque j'exécute, l'écran n'affiche pas mon printf ?
 
Autre petite question : comment faire pour déclarer une variable et sa valeur dans int main, déclarer le pointeur dans int int1 et afficher la valeur de la variable dans int int1 ?
 
Merci d'avance pour vos réponses !

mood
Publicité
Posté le 15-10-2012 à 22:05:23  profilanswer
 

n°2160323
Farian
Posté le 15-10-2012 à 23:02:37  profilanswer
 

Bonjour !
 
Pour l'affichage, il manque le "\n" dans le printf (cf. un post récent : http://forum.hardware.fr/hfr/Progr [...] 7960_1.htm).
 
De plus, dans le "main", vous ne faites que déclarer une fonction "int1", mais vous ne l'appelez pas ... Une syntaxe correcte serait (je mets de côté argc et argv) :  
 

Code :
  1. int int1();
  2. int main()
  3. {
  4.      int1();
  5.      return 0;
  6. }
  7. int int1()
  8. {
  9. ....
  10. }


 
Pour la deuxième question, pouvez-vous préciser ?  Je n'ai pas sûr d'avoir bien compris ce que vous voulez faire.

n°2160348
breizhbugs
Posté le 16-10-2012 à 11:46:51  profilanswer
 

Pour le deuxième question ça doit être ça je suppose:

Code :
  1. void int1 (long *p) // on déclare une fonction prenant un pointeur sur un long en paramètre.
  2. {
  3.      printf("Nombre : %ld", *p);
  4. }
  5. int main ()
  6. {
  7.      long nombre = 100; // on déclare et initialise un nombre
  8.      int1 ( &nombre); // on passe son adresse a la fonction
  9.      return 0;
  10. }


---------------
Seul Google le sait...
n°2160400
--Samuel--
Posté le 16-10-2012 à 18:40:27  profilanswer
 

Je comprends très bien ce que tu as fait, mais je ne vois vraiment pas comment déclarer la variable dans [I]int2[/I] et l'afficher dans [I]int1[/I]. Lorsque je compile, il ne se passe à nouveau rien... :(
 
void int1 (long *p) // on déclare une fonction prenant un pointeur sur un long en paramètre.
{
     printf("Nombre : %ld", *p);
}
int int2 ()
{
    long nombre = 100; // on déclare et initialise un nombre
     int1 (&nombre); // on passe son adresse a la fonction
}
int main ()
{
     return 0;
}

n°2160401
gilou
Modérateur
Modzilla
Posté le 16-10-2012 à 19:35:00  profilanswer
 

Peut être que si tu faisais
int main ()  
{  
     int2();
     return 0;  
}  
Il se passerait quelque chose, parce que la, avec un main qui ressort tout de suite, pas étonnant qu'il ne se passe rien.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Problème de pointeurs

 

Sujets relatifs
C++ et pointeurs, problème pour désalouer...Problème avec les pointeurs (thread)
Problème avec l'algorithmique des pointeurspetit problème avec les pointeurs
Probléme avec les pointeurs[C] Problème de pointeurs et d'allocation
[Probleme] Pointeurs de fonction dans une map[C++] Problème avec les pointeurs de fonctions
Petit probleme de pointeurs sur des tableaux d'une structureProbleme bizard sur les pointeurs en C !
Plus de sujets relatifs à : Problème de pointeurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR