Salut à toutes et à tous,

Le titre semble un peu lourd, mais c'est exactement ce qui me pose problème à l'heure qu'il est. Il s'agit là plus d'un question de grammaire que de trouver une solution!
Je m'explique avec le code suivant:

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
26
27
28
29
30
31
32
33
 
#include <stdio.h>
#include <stdlib.h>
 
typedef struct
{
	double hauteur;
	double largeur;
} rectangle;
 
typedef struct
{
	unsigned int nbRectangles;
	rectangle *name;
} ensRect;
 
int main(void)
{
	register unsigned int count;
	ensRect *touslesRectangles;
 
	if ((touslesRectangles = malloc(5*sizeof(ensRect))) == NULL)
	{
		return 1;
	}
 
	for (count=0; count<5; count++)
	{
		touslesRectangles[count] = {0, NULL};
	}
 
	return 0;
}
Avec ce code, le compilateur (gcc) m'indique l'erreur suivante:
error: expected expression before ‘{’ token

En revanche, le programme est correctement compilé si je procède à l'initialisation de la façon suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
	for (count=0; count<5; count++)
	{
		touslesRectangles[count].nbRectangles = 0;
		touslesRectangles[count].name = NULL;
	}
Quelqu'un aurait-il une explication ?

Merci,
Mickaël