IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

probleme avec malloc


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut probleme avec malloc
    Bonjour,
    j'ai un probleme avec malloc. Si j'ai un void **, et je fait malloc(10), est-ce que je retrouve NULL dans chaque casse?
    j'ai fait des tests, mais je doit etre sur que a chaque fois c'est le cas. Si j'ai bien compris, malloc alloue de la memoire su la tas d'une processus, mais qu'est ce qui ce passe si avant sur cette zone de memoire il y avais des chose(libere avec free par example)?
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Bonsoir,
    Je ne pense pas dire beaucoup de bêtises en disant que malloc n'initialise pas la zone mémoire allouée. Elle peut être à zéro en debug (et encore, maintenant, ce n'est plus le cas), mais tu n'es pas garantit de ça. Tu ne dois pas t'appuyer là dessus.

  3. #3
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    malloc ne fait qu'allouer la mémoire pour que tu puisses l'utiliser et c'est tout !
    C'est à dire que la mémoire n'est pas initialisée, donc tu n'as aucune certitude que cette mémoire soit à 0.
    Pour initialiser ta mémoire à 0 tu peux utiliser calloc au lieux de malloc et dans ce cas tu seras sûr que ta mémoire est initialisée
    Plus tu pédales moins fort, moins t'avances plus vite.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Moi aussi je crois que malloc n'initialise pas la memoire, mais est ce qu'on est sur que tant qu'on pas fait aucun ecriture dans cette memoire, est ce que'il a une mecanisme deriere qui nous confirme que si on teste si elle est a null, on obtiendra a chaque fois une reponse "vrais"?

  5. #5
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Comme dit plus haut si tu veux que ta mémoire "soit à NULL" tu peux utiliser calloc !
    Plus tu pédales moins fort, moins t'avances plus vite.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    et ca, ca veux dire qu'il faut que je change mon projet en entier
    bon merci bcp. bon soire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme avec malloc et realloc
    Par zouari.rami dans le forum Débuter
    Réponses: 2
    Dernier message: 12/03/2011, 14h07
  2. Probleme avec malloc sur tableau de chaine
    Par grex1 dans le forum C
    Réponses: 2
    Dernier message: 12/09/2010, 22h36
  3. probleme avec malloc
    Par Hisoka_Hunter dans le forum C
    Réponses: 4
    Dernier message: 14/01/2009, 08h43
  4. probleme avec les malloc snprintf
    Par pinto_armindo dans le forum Réseau
    Réponses: 8
    Dernier message: 30/10/2007, 18h08
  5. Probleme avec malloc
    Par boula dans le forum C
    Réponses: 6
    Dernier message: 03/07/2007, 09h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo