? Programmeurs utilisent le langage de programmation C pour les logiciels de systèmes et code de bas niveau . Pour cette raison, l'une des capacités de C est la création de structures de données complexes. Ces structures contiennent des données rassemblées , ce qui représente souvent un grand morceau de données avec de nombreuses valeurs concernées. L'accès à ces valeurs signifie leur référence à la structure à l'aide soit du "point" spécial et notations " fléchées " ( selon la situation ) . C Structures
Création d'un type de données complexe dans C implique la création de ce qui est connu comme une structure , en utilisant le mot-clé " struct " . Ces structures contiennent généralement deux ou plusieurs variables de données , et de représenter un type de données cohérent ( plutôt que de simplement agir comme un ensemble de données aléatoires ) . Par exemple, la structure C suivante représente un nœud dans une structure de données plus vaste, et contient un morceau de données , et un pointeur vers une autre structure du même type :
struct Node {
int data = 1;
struct * Node prochaine ;
};
pointeurs
sein de la structure "Node " il existe un pointeur vers une autre structure Node. Pointeurs vers des structures sont très fréquents lors du passage des variables de structure de fonctions . Ils sont aussi un facteur lorsqu'il s'agit de décider qui notation un programmeur doit utiliser pour référencer des données de structure. Pointeurs créer une référence de mémoire à un type de données , plutôt que de créer une variable peu profonde pour le type de données . Ainsi, dans l'exemple suivant, la première déclaration déclare une structure variable dans un cadre local, ce qui signifie qu'il doit être copié et déplacés . La deuxième déclaration déclare un pointeur sur une structure en mémoire qui permet à des choses telles que l'allocation dynamique de la mémoire :
struct Node
x ;
struct Node * y;
Photos Dot notation
la notation requis pour accéder aux données dans des structures dépend du contexte de la structure. Si le programmeur déclare une variable de structure comme une variable locale, puis elle va accéder aux données à travers la notation par points . Dot notation se connecte simplement une variable de structure et d'un membre de données de structure à travers un symbole point (". " ) . Les exemples suivants montrent comment le programmeur récupérer les données d'une variable Node à travers la notation par points :
struct Node x ;
int j = x.data ; //j équivaut maintenant à une
catégorie de notation
l'autre contexte pour récupérer des données à partir de structures , c'est quand le programmeur a un pointeur vers une structure plutôt qu'une variable locale. Lorsque le programmeur crée un pointeur vers une structure, deux choses doivent se produire . D'abord, elle doit déclarer le pointeur de la structure. Deuxièmement, elle doit allouer de la mémoire ainsi que les références mémoire de pointeurs avec la bonne taille. Ensuite , elle peut utiliser la notation flèche ( "->" ) pour accéder aux données :
struct Node * y;
Y = malloc ( sizeof ( struct Node) ); mémoire //alloue à Y de la taille d'un nœud struct
int j = Y -> data //j entier est maintenant égale à une