Définition d'une structure en c
ahmaouche
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
ahmaouche Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
ahmaouche Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je veux définir une structure (ou des structures) pour manipuler ce qui suit:
Un tableau (dynamique qui contiendra un mot en français son synonyme en anglais, en plus d'un pointeur vers une liste qui contiendra la signification du mot en français qui sera constitué d'un ensemble de mot(chaque mot dans un maillon).
j'ai pensé a faire comme suit:
Est ce que c'est juste ? Y a-t-il d'autre solution?
Merci d'avance.
Je veux définir une structure (ou des structures) pour manipuler ce qui suit:
Un tableau (dynamique qui contiendra un mot en français son synonyme en anglais, en plus d'un pointeur vers une liste qui contiendra la signification du mot en français qui sera constitué d'un ensemble de mot(chaque mot dans un maillon).
j'ai pensé a faire comme suit:
struct cellule { /* déclaration de la liste*/
char mot [30];
struct cellule *suiv;
};
/**************************************************************/
struct signif {
char mot_fr[20];
char syno_eng [20];
struct cellule *liste_mot;
};
struct signif traducteur[1000]; /*declaration d'un tableau de structure de type signif*/
Est ce que c'est juste ? Y a-t-il d'autre solution?
Merci d'avance.
A voir également:
- Définition d'une structure en c
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Structure url - Guide
- Trouvez l'erreur dans la structure du document et corrigez-la. ✓ - Forum Word
- Problème table des matières word titres pas pris en compte - Forum Word
2 réponses
Tu parles de tableaux dynamiques mais tu n'en utilises pas.
Il faut mettre des pointeurs à la place des char mot[30] et cie.
Sinon, ça sera statique.
Il faut mettre des pointeurs à la place des char mot[30] et cie.
Sinon, ça sera statique.
Pour faire l'allocation dynamique j'ai utilisé la fonction malloc comme suit
Mais après la compilation j'ai les erreur suivantes:
C:\CodeBlocks\structuretp\main.c|28|note: previous declaration of 'traducteur' was here|
C:\CodeBlocks\structuretp\main.c|29|warning: initialization makes integer from pointer without a cast [enabled by default]|
C:\CodeBlocks\structuretp\main.c|29|error: initializer element is not constant|
Cordialement.
/********Allocation dynamique*******************************/
struct cellule {
char* mot;
struct cellule *suiv;
};
/********************************************************/
struct signif {
char* mot_fr;
char* syno_eng;
struct cellule* liste_mot;
};
typedef struct signif signif;
signif* traducteur ;
traducteur = malloc(sizeof(signif));
int main()
{
printf("Hello world!\n");
return 0;
}
Mais après la compilation j'ai les erreur suivantes:
C:\CodeBlocks\structuretp\main.c|28|note: previous declaration of 'traducteur' was here|
C:\CodeBlocks\structuretp\main.c|29|warning: initialization makes integer from pointer without a cast [enabled by default]|
C:\CodeBlocks\structuretp\main.c|29|error: initializer element is not constant|
Cordialement.