Partage
  • Partager sur Facebook
  • Partager sur Twitter

allocation dynamique

un petit programme d'allocation dynamique

Anonyme
    18 février 2017 à 13:58:58

    salut tout le monde,je vient de créer de la case mémoire dynamiquement,mais il m'envoie un code d'erreur !!!!!veuillez m'aider !
    #include<stdio.h> 
    #include<stdlib.h>
    main()
    {
          int *memoire_alloue=NULL;
          memoire_alloue= malloc(sizeof(int));
          printf("donner n\n");
          scanf("%d",memoire_alloue);
          printf("%d",*memoire_alloue);
          free(memoire_alloue);
          system("pause");
          }
    • Partager sur Facebook
    • Partager sur Twitter
      18 février 2017 à 14:05:41

      Salut,

      Probablement parce que ton main ne retourne rien, un format correct est :

      int main(void)
      {
      
        ...
      
        return uneValeur;
      }



      • Partager sur Facebook
      • Partager sur Twitter

      Bonhomme !! | Jeu de plateforme : Prototype.

      Anonyme
        18 février 2017 à 14:33:09

        non c'est la meme chose mon ami
        • Partager sur Facebook
        • Partager sur Twitter
          18 février 2017 à 14:49:01

          Erreur ou warning ?

          En C99, sans l'instruction 'return ' en fin de fonction main, le programme ce terminera sur un 'return 0 ' implicite.

          -
          Edité par magma 18 février 2017 à 15:04:05

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            18 février 2017 à 15:47:29

            non pour la fonction main() , tu peux ne pas mettre return 0;et tu peut mettre int main() et la fin tu mets return 0;ce n'est pas le probleme de l'exercice
            • Partager sur Facebook
            • Partager sur Twitter
              18 février 2017 à 21:53:58

              YAHYAELOUKILI a écrit:

              non pour la fonction main() , tu peux ne pas mettre return 0;et tu peut mettre int main() et la fin tu mets return 0;ce n'est pas le probleme de l'exercice

              La forme main() est obsolète. Il y avait, avant C99, une vieille règle qui disait que si le type d'une fonction n'était pas spécifié, alors il était considéré comme étant int par défaut.

              Cette règle n'existe plus et les deux formes standard de main sont maintenant int main(void) et int main(int argc, char* argv[]).

              À part ça, le gros problème de ton code est que tu ne vérifies pas le retour de malloc. Pour ce qui est de system("pause"), ce n'est vraiment pas génial et je t'invite à le retirer et à l'oublier définitivement, peu importe le projet.

              -
              Edité par Mad scientist 18 février 2017 à 22:04:08

              • Partager sur Facebook
              • Partager sur Twitter
              Un vrai cours de: (C | C++ | Haskell débutant | Haskell intermédiaire | Rust).

              allocation dynamique

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown