En C, une structure de données est défini comme suit :
struct _Point { int x; int y } point;
Ceci défini d'une part un type nommé struct _Point
et une variable point
ayant comme type la structure de donnée struct _Point
.
Pour définir un type correspondant à la structure point, il est nécessaire en C d'écrire le code suivant :
typedef struct _Point { int x; int y } Point; Point point;
Dans ce cas, Point
est défini comme un alias de type et désigne plus spécifiquement le type struct _Point
. Ecrire Point
et struct _Point
est équivalent.
En C++, il n'est plus nécessaire de préfixer le type _Point
par struct
. Ainsi, il est possible d'écrire le code suivant :
struct Point { int x; int y }; struct Point pointA; Point pointB;
Pour initialiser les structures en C++, il suffit de fournir la liste des valeurs dans l'ordre dans lequel les champs sont définis. Ainsi écrire :
struct Point {int x; int y}; Point point = {1, 3}; std::cout << point.x << ", " << point.y << std::endl;
correspond à initialiser les champs x
et y
de la structure point
avec les valeurs 1
et 3
.