manipuler un pointeur de structure ( question de noob dsl )

manipuler un pointeur de structure ( question de noob dsl ) - C - Programmation

Marsh Posté le 02-01-2004 à 17:03:18    

voila pour un projet en C je dois entre autre creer la structure suivante:

Code :
  1. Struct nom
  2. {
  3. char mot[81]; // pour chaque mot
  4. int occ;      // pour le nombre d'occurence de ce mot
  5. };


 
en fait l'utilisateur va entre des caracteres ( une phrase qui sera rentrée grace a une variable char texte[81] car 80 caracteres maximum)
dedans il y a des mots a reperer, qui une fois authentifié seront stockés
mais le probleme, c'est qu'on ne sait pas combien de mots il y aura en tout
 
donc dans le main je declare cette structure comment grace a un pointeur?
 

Code :
  1. nom* t; // t sera le nom du tableau dont on connais pas la taille


?


Message édité par e-v-tooms le 02-01-2004 à 17:06:22
Reply

Marsh Posté le 02-01-2004 à 17:03:18   

Reply

Marsh Posté le 02-01-2004 à 17:08:51    

Code :
  1. struct nom
  2.   {
  3.      char mot[81]; // pour chaque mot
  4.      int occ;      // pour le nombre d'occurence de ce mot
  5.   };
  6. struct nom v; // une variable
  7. struct nom *p = &v; // un pointeur
  8. // foire à la saucisse
  9. // initialiseur C99
  10. struct nom taz = { .mot="TazForEver" };

Reply

Marsh Posté le 02-01-2004 à 17:10:23    

et après
 

Code :
  1. struct nom *personnes = malloc( n * sizeof *personnes );
  2. // voire même en C99
  3. struct nom personnes[n];

Reply

Marsh Posté le 02-01-2004 à 17:12:00    

merci je vais etudier ce que tu as dis :jap:

Reply

Marsh Posté le 02-01-2004 à 18:06:38    

tiens il me semble que c'est la première fois que je fais une démo de « struct initializer » en C99 ... j'espère que ça vous intéresse

Reply

Marsh Posté le 02-01-2004 à 18:12:40    

J'l'avais déjà vu dans la norme mais j'avoue que j'm'en rappelais plus du tout :/
Un p'tit rappel ça fait pas de mal :)

Reply

Marsh Posté le 21-01-2004 à 18:26:59    

Bonjour je cherche a faire une structure comme celle ci :
struct pos
{
     int posx;
     int posy;
};
 
mais je ne connais pas le nombre d'éléments qu'il y aura dedans car c'est dynamique donc je met :  
struct pos v;
struct pos *p=&v;
 
si je veux mettre 2 éléments : v[0] et v[1] j'essaie de mettre *p=2 mais ca me fais une erreur
et si je veux recuperer les elements : v[0].posx ca me met aussi une erreur est ce que quelqu'un pourrais m'aider ? je débute en C et je n'ai jamais fais de ptr de structure
 
 merci

Reply

Marsh Posté le 21-01-2004 à 19:06:04    

ben ça ne change rien * sert à déférencer, et après t'atteris sur une structure comme tu atterirais sur un entier

Reply

Marsh Posté le 21-01-2004 à 19:13:16    

ok en fait c pour faire un serpent donc je stock dans un tableau de structure toutes les positions des diffenrents "carrés" du serpent et vu que le nombre n'est jamais le meme j'aimerais pouvoir le changer et récuperer les valeurs d'une case donnée du tableau
merci

Reply

Marsh Posté le 21-01-2004 à 19:18:56    

et ?

Reply

Marsh Posté le 21-01-2004 à 19:18:56   

Reply

Marsh Posté le 21-01-2004 à 20:17:09    

cette facon d'initialiser est carrement plus clair

Reply

Marsh Posté le 21-01-2004 à 21:03:28    

oué mais pour changer la taille du tableau de structure il faut bien que je fasse : *p=2 par exemple ? et pour avoir les donnée c bien : v[0].posx et v[1].posy non ?
je suis sur msc

Reply

Marsh Posté le 21-01-2004 à 21:06:00    

non
oui pas avec ton code

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed