Bonsoir,

Après lecture faite je crois comprendre que malloc permet d'allouer de l'espace mémoire.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
char * mot= malloc(20 * sizeof(char)); //Allocation de 20 octets
scanf("%s", mot);
Dans l'exemple ci-dessus, je vais donc réserver 20 octets pour mot.

Deux questions me viennent en tête:
  1. Est-il possible d'allouer le strict minimum d'octets en fonction de la taille de ma chaîne de caractères ?

  2. Pourquoi ceci ne fonctionne pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char * mot;
    scanf("%s", mot);
    Je pensais qu'ignorer le malloc était simplement dangereux au risque d'écraser par erreur des octets occupés...


Je vous remercie pour votre aide!