Rechercher : dans
Par :

Allocation dynamique/structures (lange C)

Dernière réponse le 30 oct 2008 à 17:06:15 Makino94, le 30 oct 2008 à 16:44:21 
 Signaler ce message aux modérateurs

Bonjour,

j'aimerais utiliser des structures tout en tirant parti de l'allocation dynamique du C, comme des listes chainées et/ou arbres binaires.Je ne sais pas vraiment comment m'y prendre .Donc mes questions sont les suivantes :

-quelles sont les fonctions à utiliser
-auriez vous des exemples

Merci

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « allocation dynamique/structures (lange C) » dans :
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...

1

 bizu53, le 30 oct 2008 à 17:06:15
  • +2

Je ne comprends pas ce que tu veux dire par "tout en tirant parti de l'allocation dynamique du C".
Définir une structure est indépendant de l'allocation dynamique ou statique, un structure n'est rien d'autre qu'un "super type" de variable.

Un exemple simple de structure pour un couple (x, y) réels :

typedef struct sCouple
{
   float x; //abscisse
   float y; //ordonnée
} couple;


après dans ta main (ou n'importe quelle autre fonction) tu utilise couple comme un type de variable, mais il faut penser à faire une petite fonction pour l'initialisation dans le cas où tu le ferais dynamique.

couple* creerCouple(float x, float y)
{
   couple *c = (couple*) malloc(sizeof(couple));
   
   c->x = x;
   c->y = y;

   return c;
}

int main()
{
   couple *c = creerCouple(1, 2);
}

Répondre à bizu53