• # Facile.

    Posté par (site web personnel) . En réponse au message Stocker directement des pointeurs qui pointent sur des structures. Évalué à 2.

    Tu veux allouer sur le tas, et pas sur la pile. Donc malloc.

    #include <stdio.h>
    #include <stdlib.h>
    struct maStructure
    {
     int state; // 0
     int prevstate; // -1
     int position; // 0
     int target; // -100
    };
    typedef struct maStructure MaStructure;
    int main (int argc, char *argv[]){
     MaStructure* Ensemble[3];
     int i;
     for (i=0;i<3;i++) {
     // Alloue sur le tas.
     Ensemble[i] = malloc(sizeof(MaStructure));
     Ensemble[i]->state=i;
     Ensemble[i]->prevstate=i;
     Ensemble[i]->position=i;
     Ensemble[i]->target=i;
     }
     for (i=0;i<3;i++) {
     printf("%d, %d, %d, %d\n", Ensemble[i]->state,
     Ensemble[i]->prevstate,
     Ensemble[i]->position,
     Ensemble[i]->target);
     }
     return 0;
    }