Bonjour tous,

avant de commencer
j'ai des structures de type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
typedef struct
{
  short x;
  short y;
  short z;
} point;
point *p ;
point liste[NPI];
NPI vaut 64 au début du programme

le programme sera porté sur des bécanes antiques (1973 à 1990) donc je dois
tester si la mémoire est suffisante au début du programme
je pensais à quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int main(void)
{
  if((p=malloc(sizeof(struc point) * NPI)) == NULL)
  {
     /* ne pas lancer */
     fprintf(stderr,"\\nn\t%s\n\n", message(memoire));
     exit(1);
  }
  /* sinon effectuer la reservation */
  p=malloc(sizeof(struc point) * NPI);
  /* ici les traitements */
  /* dont une boucle pour remplir les coordonnees*/
    if (scanf(" %d %d %d", &p[i].x, &p[i].y, &p[i].z) == 3)
    {
        /* traitement normal */
        scanf(" %d %d %d", &p[i].x, &p[i].y, &p[i].z);
        liste[i]=p;
    }
    else
    {
        /* erreur ! */
        fprintf(stderr,"\\nn\t%s\n\n", message(saisie));
    }
 
  /* fin de boucle des saisies*/
déjà est ce que je commets des erreurs à ce niveau ?

et surtout je compte proposer à l'utilisateur de traiter des coordonnées supplémentaires donc je devrai agrandir la liste[]

quelle est la syntaxe pour realloc sur la struct list[NPI] ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
liste[] = ralloc (liste[], ((sizeof(strcut point) * nvl_taille));
devrai ne pas marcher je suppose ? alors comment le faire ?

merci
désolé pour les questions qui peuvent paraitre bêtes mais j'ai du mal à m'y remettre au C et les docs ne sont pas très claires voire existantes sur ce point précis.