Structure et allocation de mémoire dynamique [c] - Programmation
Marsh Posté le 16-07-2002 à 22:06:48
tableau alloué statiquement => pas besoin de malloc
sinon a l'avenir c plus simple si tu donne l'erreur de compilation renvoyée.....
Marsh Posté le 16-07-2002 à 22:08:44
Non mais justement je ne veux plus qu'il soit alloué statiquement. Je veux virer le [30]
CHaiCA
Marsh Posté le 16-07-2002 à 22:09:43
Tu fais soit:
Code :
|
soit
Code :
|
Marsh Posté le 16-07-2002 à 22:25:37
ca devrait marcher ca :
mac.nom = (char*)malloc(30 * sizeof(char));
avec la struct machin{
char *nom;
...
}mac;
Marsh Posté le 16-07-2002 à 22:29:25
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
Marsh Posté le 16-07-2002 à 23:07:32
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ù.
Marsh Posté le 16-07-2002 à 22:04:16
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