Completement dépasser par malloc en C

bonjour ,
voila g un pb completement bizard:
je lance quelquechose de similaire a ça:

printf("point 1\n");
ptr=malloc(size) ; (size =2)
printf("point2\n");

et j'obtient ça
point 1
segment fault

je comprend pas du tout ce quil se passe d'autant plus ke quand j'appelle cette fonction précédement cela fonctionne,je programme ce truc la sous linux
merci pour votre aide

3 réponses

  1. Modérateur
    En fait le pb peut venir d'avant (héhé), ou ton malloc est buggé (haha :p). Toutefois essaie de mettre un truc du genre :
    char *ptr=(char*)malloc(sizeof(char)*nb_char);

    Si tu ne t'en sors pas donne-nous le code...
    1. oui biensur j'ai déclaré ptr comme ceci:
      char * ptr;
      je vais essayer de mettre (char*) devant malloc mais je ne crois pas ke ça va changer kelkechose car la fonction marche plusieurs fois avant de planter.
      1. Il manque des bout, c'est quoi le type de ptr? Il me semble que tu dois caster le malloc non?

        char * ptr;
        printf("point 1\n");
        ptr=(char*)malloc(size) ; (size =2)
        printf("point2\n");

        Ca devrait fonctionner ça.