Bonjour et bienvenue à nouveau.
Je veux parler un peu des pointeurs vides dans cette conférence.
Nous savons ce qu'est void parce que nous avons utilisé
ce mot-clé lorsque nous avons parlé de fonctions.
Principalement si nous ne voulons pas renvoyer de données à partir d'une fonction, nous utilisons le
void dans le cadre de la signature de la fonction. Qu'en est-il lorsque nous utilisons le pointeur d'éviter, qu'est-ce que cela signifie?
Eh bien, le nom de type void signifie l'absence de tout type.
Ainsi, un pointeur de type void star peut contenir l'adresse d'une donnée élémentaire de n'importe quel type,
il a donc beaucoup de flexibilité.
Si vous ne savez pas ce que vous allez stocker comme pointeur, vous pouvez
dire étoile vide, plutôt astucieux. Il est généralement utilisé dans les fonctions pour les paramètres de fonction.
Ainsi, void star est souvent utilisé comme type de paramètre ou type
de retour avec
des fonctions, qui traitent les données d'une manière indépendante du type.
Ainsi, vous pouvez permettre à votre fonction d'être plus flexible
si elle prend des pointeurs étoiles vides.
Cela signifie essentiellement que votre fonction peut
prendre plus d'un type de variable sauf qu'elle n'est
pas complètement flexible car vous devez la convertir d'une manière ou d'une autre lorsque vous la déréférencer.
Ainsi, tout type de pointeur peut être transmis en tant que valeur de type void, de tout type.
Le pointeur void ne sait pas sur quel type d'objet il pointe.
Vous ne pouvez donc pas le déréférencer
directement, et c'est là que le vrai hoquet vient avec l'étoile du vide.
C'est idéal pour une longue flexibilité pour différents types de données, mais vous ne pouvez
l'utiliser que si vous connaissez le type de données.
Vous devez donc fournir un cast
explicite au pointeur lorsque vous le déréférencer.
L'adresse d'une variable de type int peut être stockée dans une variable pointeur
de type void car void star signifie que tout type de données peut y être stocké.
Ainsi, lorsque vous souhaitez accéder à la valeur d'intervalle à l'adresse
stockée dans le pointeur en étoile vide, vous devez d'abord la convertir en un
pointeur de type int.
Dans cet exemple, nous allons voir comment vous utilisez le pointeur étoile vide.
Nous avons trois variables que nous avons définies, un entier et un flottant et un caractère.
Nous allons maintenant créer un pointeur étoile vide.
Comme le pointeur est de type void, nous pouvons lui attribuer l'adresse
de i qui est un int. On peut lui attribuer l'adresse
de f, qui est un flottant et on peut lui attribuer l'adresse de
caractère ou ch qui est un caractère.
Le seul problème est que lorsque vous déréférencer, vous devez connaître ce type, mais vous voyez toujours l'avantage ici.
L'avantage ici est que nous n'avons qu'à créer un type de variable
et que nous pouvons y stocker plusieurs adresses différentes.
Mais chaque fois que vous voulez l'utiliser, vous devez l'utiliser en étoile.
Et vous verrez ici, lorsque nous imprimons les données, que l'étoile
in lance le pointeur puis que nous le dé-référencons, l'étoile en dehors des
parenthèses int est déréférencée. Cela va donc afficher la
valeur vers laquelle pointe le pointeur v,
mais d'abord, il va la convertir dans le bon type.
Donc, dans chacun de ces trois pointeurs v, il va s'imprimer pour la fourmi qu'il va imprimer 10.
Pour le flotteur, ça va en faire ressortir 2. 34.
Et pour le ch, char, il va imprimer k.
Nous verrons le pointeur void utilisé davantage dans les paramètres de fonction,
comme je l'ai dit, dans les types de retour.
Et c'est vraiment la valeur quand il s'agit de n'utiliser qu'un
pointeur en étoile vide dans une déclaration et
d'attribuer de nombreux types de données différents. Merci.