Bonjour et bienvenue parmi les structures particulièrement imbriquées, notamment
les structures imbriquées.
Donc C vous permet de définir une structure qui contient elle-même toutes leurs structures en tant qu'un ou plusieurs
de ses membres.
Donc, tout concept où vous pouvez avoir des structures à l'intérieur de structures, vous avez donc vu comment il est possible de grouper logiquement
le mois du jour de l'année dans une structure appelée Date.
Nous nous en tenons à cet exemple de la journée.
Eh bien, qu'en est-il si nous voulons que le groupe prenne effectivement le temps en minutes, minutes et secondes dans une structure, il me semble
que cela serait également utile.
Nous aurions donc ici une structure appelée time, très similaire à trois éléments.
Nous savons que le nom de la structure est time car il suit le mot clé struct.
C'est le nom de la balise.
Ensuite, à l'intérieur des accolades, nous définissons nos éléments avec des types de données et des noms de variables. Nous
savons maintenant que nous pouvons également placer un tableau si nous le voulons.
Mais dans ce cas, nous n’avons même pas besoin de trois entiers.
Nous terminons la structure avec la bonne accolade et la somme que j’appelle, mais dans certaines applications, vous
voudrez peut-être combiner la date et l’heure ensemble.
Cela aurait du sens, car la date et l’heure sont logiquement organisées ou logiquement
ensemble et groupées logiquement.
Vous pouvez donc définir une liste d’événements à une date et une heure données.
Cela pourrait donc être un cas très utile dans lequel vous voudriez utiliser une structure imbriquée afin de pouvoir associer
à la fois la date et l'heure.
Nous pouvons définir une nouvelle structure appelée par exemple date dans le temps, qui contiendrait comme membres deux
éléments une date dans le temps, qui sont les deux structures.
Nous avons donc maintenant une structure imbriquée, une structure nommée dên time qui contient deux autres structures.
Quelque chose comme ca.
Et la syntaxe est très similaire à la création d’autres structures.
La seule différence entre les deux est l’intérieur de la structure réelle. En tant que nom d’élément, vous
avez le mot-clé struct, le nom de la structure, puis la variable.
Donc, dans ce cas, nous créons une construction délicate et nous en avons deux structurées.
L'un est un type date ceux du type heure avec deux variables comme état-heure, le premier membre de la structure est du
type struct day dans son nom Date.
Le second membre de la structure de date et heure est de type struct time et est appelé en tant que variable de temps. Il
peut maintenant être défini comme étant de type struct date et heure.
Il n'est pas nécessaire de créer des variables séparées pour le jour.
Nous pouvons en créer un et cette structure stockera à la fois la date et l'heure. Nous utiliserions un mot-clé
struct pour spécifier le type de la structure liée, puis le nom de la variable.
Dans ce cas, ils vont stocker des événements. Nous disons événement lorsque vous souhaitez accéder aux membres de
la structure imbriquée.
Encore une fois, la syntaxe est assez simple.
Tout ce que vous avez à faire est de le référencer, comme tout autre membre, vous devez utiliser cet opérateur de sélection de membre.
Donc, nous utilisons cela assez souvent, donc si nous avons une structure nommée event et que
nous voulons obtenir la date, nous disons Venkat comme date car c'est un membre de cette structure de temps de données. Maintenant, si vous voulez référencer un
membre particulier à l'intérieur de indiquez à nouveau que vous utiliseriez la période correspondant au nom du numéro qui
serait cloué à la fin.
Donc, ce qui précède va définir le mois de la structure de dates contenue dans event en octobre.
Et cela va ajouter un à la seconde qui est contenu dans la structure de temps.
Nous disons donc date de l'événement, puis un autre point, car nous voulons accéder à la variable de l'élément day.
Nous voulons accéder au mois et nous allons signer le mois 10.
Donc, il y a plusieurs points là-dedans et tout ce que cela dit, c'est que vous avez un événement struct nommé et à cause de notre déclaration
avant que nous ne disions qu'il s'agissait du type DATE AND TIME.
A l'intérieur, vous avez une structure qui n'est qu'une structure de date.
Vous voulez accéder qu'ils ont frappé le membre du mois.
Donc, vous dites Dopp mois deux points.
Et puis, si nous voulons modifier l’incrément d’une seconde, nous pouvons simplement dire que plus
nous pouvons utiliser cet opérateur de pré-incrémentation plus plus qui se termine en secondes, nous devons inclure ces deux points en
secondes sous forme d’entier pour qu’il ne reste ajoutez-y 1
Très simple.
La variable d'événement peut être initialisée exactement comme des structures normales si vous souhaitez définir
la date dans l'événement de variable au 4 février 2015 et l'heure à 330, vous diriez que l'événement à date et
heure frappées doit être créé comme d'habitude, puis vous devez ces accolades pour spécifier les différents membres d’initialisation
de la structure.
Ainsi, dans les premières accolades, nous allons initialiser la date à laquelle nous allons initialiser
le mois à février les données 1 et l’année à 2015, puis nous terminons les accolades et nous mettons
une virgule après ces la seconde qui ressemble à cela ressemble à une initialisation multidimensionnelle
de tableau.
Nous disons que le temps sera égal à 330 avec 0.
Donc 3 heures 30 minutes 0 secondes.
Vous pouvez utiliser les noms des membres lors de l'initialisation, comme toutes nos autres règles d'initialisation.
Cela serait bénéfique, car vous n’auriez pas à spécifier
l’ordre ici. Nous créons simplement l’événement, puis entre les accolades, nous utilisons l’opérateur
de points.
Et cela ne fera que spécifier l’initialisation de la date.
Si nous voulions spécifier l’initialisation de l’heure, nous utilisions simplement les points pour chaque membre
nommé dot nos minutes DOT et nous pouvions inverser l’ordre.
Nous pouvons dire que la deuxième suite 0 commence en premier, puis que huit minutes sont égales à 30, puis nos trois
à la dernière, l’ordre importe peu.
Et puis nous terminons avec un point-virgule dans l'accolade bouclée droite.
Maintenant que nous savons que nous pouvons avoir des structures imbriquées, qu’en est-il d’un tableau de structures imbriquées?
Maintenant, nous y entrons vraiment.
Oui c'est possible.
Vous pouvez configurer un tableau de structures date-heure et date-heure. La date et l'heure contiennent
deux structures.
Vous le faites juste comme n'importe quelle autre syntaxe normale.
Vous devez utiliser ces crochets pour spécifier la taille du tableau lorsque vous déclarez le nom de
la structure.
Vous devez spécifier le type date et heure, comme toute
autre structure. Les événements de tableau sont déclarés comme
contenant 100 éléments de type struct. .
A l'intérieur de ces crochets, pour définir la première fois dans le tableau à midi, vous diriez que l'événement est une heure inférieure à zéro, car
souvenez-vous que le temps pointe vers la structure de l'heure et que vous devez ensuite accéder à l'élément de la structure de temps
qui est notre utilisation. un autre point et vous dites 12.
Cela ressemble beaucoup à la déclaration ou à l'assignation précédente, je dirais, mais à la
place, l'indice de tableau zéro est placé entre crochets.
Si les événements n'étaient pas un tableau et que vous vouliez simplement accéder à la structure unique ou à la structure
extérieure du temps, vous supprimeriez simplement les crochets.
Ainsi, les tableaux ne compliquent pas vraiment quoi que ce soit, il vous
suffit de vous familiariser avec les crochets dans les index ici, ce qui ramène les minutes à zéro pour l'événement Sub-Zero.
Nous définissons donc ce premier élément, puis le second à 0.
Maintenant, si nous voulions effacer une structure dans une structure, vous pouvez définir la structure dans la définition de la
structure temporelle.
Donc, ceci est un autre.
Une autre catégorie de flexibilité.
Il n’est pas nécessaire que le jour et la structure temporelle soient définis ailleurs, mais nous pouvons définir
ces structures directement dans notre structure temporelle.
Donc, voici un exemple de définition de la structure à l'intérieur de la structure de type.
Nous avons donc ici une structure imbriquée mais nous l’avons définie dans la définition de la structure temporelle.
Nous disons donc struct time avec le nom de la balise, puis à l'intérieur des accolades, nous disons struct date.
C'est parfaitement valable.
Et vous remarquerez également que la fin de la date de struct, avant le point-virgule de fin, créait une
variable appelée D. O. B.
Et ensuite, après avoir créé la structure et ses éléments dans une variable D-B, nous spécifions les éléments
de la structure heure heures minutes et secondes.
Donc, cela est parfaitement valable maintenant, vous devriez probablement remarquer que la limitation de ce jour de
struct ne sera définie qu'une fois avec une variable appelée DSB.
Vous ne pourrez utiliser la structure de date nulle part en dehors de celle-ci, sauf si vous utilisez un délai intérieur pour lequel vous ne
pourrez pas utiliser les données par vous-même.
Ainsi, la déclaration de la structure de jour est incluse dans l'étendue de la définition de la structure temporelle. Sculp indique
comment vous pouvez accéder aux choses car la structure de données est dans l'étendue de temps.
Vous ne pouvez y accéder que si vous créez une variable de structure de temps variable.
Vous ne pouvez pas simplement dire struct jour mon nom de variable car vous n’y avez pas accès.
Donc, les données n'existent pas en dehors de la structure temporelle.
Il est impossible de déclarer une variable de date externe à la structure temporelle.
La seule fois où vous pourriez utiliser une variable de structure de date est lorsque vous créez la structure de temps et cela
créera automatiquement une transaction pouvant être modifiée pour vous.
C'est donc quelque peu limité, mais vous l'utiliseriez dans les cas où vous avez seulement besoin de la date à laquelle elle
est associée à l'heure, la date ne doit jamais être toute seule.
Ensuite, vous feriez de cette façon un autre concept intéressant.
Un concept de fournir une structure à l'intérieur d'une structure.
Très très basique et la syntaxe est assez simple, vous vous habituez à ceux-ci en ajoutant facilement le tableau à
une structure qui contient une structure.
Vous utilisez simplement les crochets dans l'index.
Rien ne change vraiment là-bas.
Et puis vous pouvez changer un peu le format si vous voulez seulement une structure locale imbriquée.
Vous pouvez le définir directement dans l'autre définition de structure.
Nous sommes donc vraiment en train de devenir des experts avec notre type de structure.
Je veux parler des deux derniers concepts, en particulier je veux vous montrer comment vous pouvez
créer des pointeurs dans une structure qui est utile, puis nous allons faire quelques défis et exercices et
vous familiariser vraiment avec ce concept de structure.
Je vous remercie.