Bonjour,
je suis pas trop expert en C mais j'ai quand meme des connaissances de bases et j'essaie de me perfectionner. Je me suis attaqué au redimensionnement de tableau.

J'ai donc une structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
typedef struct
{
        SOCKET socket;
        SOCKADDR_IN sin;
        char nom[255];
        int connexion; 
        int position_x;
        int position_y;       
} client;
une fonction pour m'aggrandir mon tableau de cette structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
int aggrandir_tableau(client * clients, long nombre)
{
    clients = realloc(clients, nombre * sizeof(client));
    if (clients == NULL)
    {
        return 0;            
    } 
    else
    {
        return 1;
    }
}
et une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
client *clients;
long nombre_clients = 0;
while(1)
    {
      nombre_clients++;
      aggrandir_tableau(clients, nombre_clients);
      printf("tableau aggrandi...\n");
      strcpy(clients[nombre_clients-1].nom,"test");
      printf("%s", clients[nombre_clients-1].nom);
      getch();
    }
Mon problème, c'est qu'après 4 ou 5 passage dans la boucle, windows me fait l'erreur : le programme a généré des erreurs...

Savez-vous d'ou cela peut venir ??? est-ce que je redimensionne correctement ?

Merci d'avance