[C] Initialiser une chain de caractères
jojo
-
info -
info -
Bonjour,
Je n'arrive pas a initialiser une chaine de caractères qui se trouve dans une structure.
Voila ma structure:
et ce que j'essai de faire :
La premiere ligne passe bien, le nouveauMot est bien initialisé, mais pas nouveauMot->mot, j'ai droit a une erreur access violation writing avec ce code.
Comment faire ?.
merci
Je n'arrive pas a initialiser une chaine de caractères qui se trouve dans une structure.
Voila ma structure:
typedef struct element element; struct element { char * mot; struct element *nxt; }; typedef element* llist;
et ce que j'essai de faire :
llist fcskiplist (llist skiplist, char * motaAjoute) { element* nouveauMot = (element*)malloc(sizeof(element*)); nouveauMot->mot = (char*)malloc(sizeof(char*));
La premiere ligne passe bien, le nouveauMot est bien initialisé, mais pas nouveauMot->mot, j'ai droit a une erreur access violation writing avec ce code.
Comment faire ?.
merci
A voir également:
- [C] Initialiser une chain de caractères
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Caracteres speciaux - Guide
- Exemple de mot de passe à 8 caractères - Guide
4 réponses
Bonjour :
element* nouveauMot = (element*)malloc(sizeof(element*));
Correction :
element* nouveauMot = (element*)malloc(sizeof(element));
:)
element* nouveauMot = (element*)malloc(sizeof(element*));
Correction :
element* nouveauMot = (element*)malloc(sizeof(element));
:)
Bah ya aussi :
nouveauMot->mot = (char*)malloc(sizeof(char*));
A corriger en :
nouveauMot->mot = (char*)malloc(n*sizeof(char));
nouveauMot->mot = (char*)malloc(sizeof(char*));
A corriger en :
nouveauMot->mot = (char*)malloc(n*sizeof(char));
bonjour ,
je suis debutante en c et j'arrive pas à accéder à une chaine de caractére qui se trouve dans une structure
typedef struct personne personne;
struct personne {
char nom [];
};
et dans mon code .c
j'ai declaré un tableau de type personne
personne tab[3] ;
et maintenant je veux afficher le nom des 3 personnes de mon tableau
j'ai fait ceci:
tab[0].nom ="alain";
es que quelcun peut m'aider
merci
mais ça ne marche pas
je suis debutante en c et j'arrive pas à accéder à une chaine de caractére qui se trouve dans une structure
typedef struct personne personne;
struct personne {
char nom [];
};
et dans mon code .c
j'ai declaré un tableau de type personne
personne tab[3] ;
et maintenant je veux afficher le nom des 3 personnes de mon tableau
j'ai fait ceci:
tab[0].nom ="alain";
es que quelcun peut m'aider
merci
mais ça ne marche pas
Salut,
lami20j@debian:~/trash$ cat ccm11.c #include <stdio.h> #include<string.h> int main () { typedef struct personne personne; struct personne { char nom [50]; }; personne tab[3] ; strcpy(tab[0].nom,"alain"); printf("%s\n",tab[0].nom); return 0; } lami20j@debian:~/trash$ gcc ccm11.c lami20j@debian:~/trash$ ./a.out alain
merci beaucoup pour ta réponse
et j'ai aussi un autre probléme si ça vous dérange pas
dans ma structure j'ai un booléen pour dire que c'est un homme ou une femme
alors j'ai fait
int sexe ;
et je veut dire que si tab[i].sexe = 1 alors une femme sinon un homme
et je veux que ça soit afficher dans le printf total celui qui contient tous
for (int i=0 ; i<=2 ; i++)
{
tab [i].age;
tab [i].nom;
tab [i].sexe;
tab [i].taille;
tab [i].prenom;
tab [i].celibataire;
if (tab [i]= 0 )
{
printf ("je suis une femme");
}
else if (tab [i] =1)
{
printf ( "je suis un homme ");
}
printf ("mon nom est %s \n mon prenom est %s \n ma taille est %d\n mon age est %d\n mon sexe est %d\n et je suis %d\n ", tab [i].nom ,tab [i].prenom, tab [i].taille , tab [i].age , tab [i].sexe , tab [i].celibataire);
et j'ai aussi un autre probléme si ça vous dérange pas
dans ma structure j'ai un booléen pour dire que c'est un homme ou une femme
alors j'ai fait
int sexe ;
et je veut dire que si tab[i].sexe = 1 alors une femme sinon un homme
et je veux que ça soit afficher dans le printf total celui qui contient tous
for (int i=0 ; i<=2 ; i++)
{
tab [i].age;
tab [i].nom;
tab [i].sexe;
tab [i].taille;
tab [i].prenom;
tab [i].celibataire;
if (tab [i]= 0 )
{
printf ("je suis une femme");
}
else if (tab [i] =1)
{
printf ( "je suis un homme ");
}
printf ("mon nom est %s \n mon prenom est %s \n ma taille est %d\n mon age est %d\n mon sexe est %d\n et je suis %d\n ", tab [i].nom ,tab [i].prenom, tab [i].taille , tab [i].age , tab [i].sexe , tab [i].celibataire);