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

 


Dernière réponse
Sujet : [c] Structure et allocation de mémoire dynamique
darkoli Une petite remarque : nom[30] est une chaîne de caractères ne pouvant comporter que 29 caractères plus '\0' en position 29.
enfin c'est au cas où.  :D

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
darkoli Une petite remarque : nom[30] est une chaîne de caractères ne pouvant comporter que 29 caractères plus '\0' en position 29.
enfin c'est au cas où.  :D
chaica Verdoux : j'avais deja essayé ta 1ere solution et ca ne marchait pas. Bizarrement j'ai déplacé la déclaration d'un fichier (je l'ai mise juste après la structure) et la compilation est passée.
 
CHaiCA
kjus ca devrait marcher ca :
mac.nom = (char*)malloc(30 * sizeof(char));
avec la struct machin{
char *nom;
...
}mac;
verdoux Tu fais soit:

Code :
  1. struct machin{
  2.      char* nom;
  3.      ...
  4. } mac;
  5. mac.nom = (char*)malloc(30 * sizeof(char));


 
soit

Code :
  1. struct machin{
  2.      char nom[30];
  3.      ...
  4. } *mac;
  5. mac = (struct machin *) malloc(sizeof(struct machin));


chaica Non mais justement je ne veux plus qu'il soit alloué statiquement. Je veux virer le [30]
 
CHaiCA
chrisbk tableau alloué statiquement => pas besoin de malloc
 
sinon a l'avenir c plus simple si tu donne l'erreur de compilation renvoyée.....
chaica j'ai une structure toute simple
 
struct machin{
      char nom[30];
      ...
} mac
 
et je voudrais utiliser malloc mais lorsque je fais soit dans la structure :
char* nom = (char*)malloc(30 * sizeof(char));
 
ou en dehors de la structure :
mac.nom = (char*)malloc(30 * sizeof(char));
 
il mejette. Une idée?
 
CHaiCA
 

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)