Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Void Pointers In C: Pourquoi vous en avez besoin dans votre expérience de codage

Dans les langages de programmation, certains concepts facilitent grandement le codage. Par exemple, le pointeur void détermine le type de données spécifique à partir des entrées d'un utilisateur final dans le langage de programmation C. Par conséquent, nous amenant à discuter des pointeurs vides en C.

Comme d'autres, les pointeurs vides ont des fonctions pertinentes pour leur flexibilité. Mais, si vous voulez gagner du temps lors du codage, votre fonction de pointeur de référence est un pointeur vide. Ce pointeur vous permet de stocker et de récupérer simultanément un type d'objet différent. Plus loin, vous apprendrez tout sur les techniques de codage impliquant des pointeurs void en C.

(Image d'un langage de programmation)

1. Que sont les pointeurs vides en C ?

Généralement, les pointeurs vides sont des pointeurs sans aucun type de données associé. En d'autres termes, ils sont comme des conteneurs vides. Cette fonctionnalité leur permet de contenir des adresses d'une variable de type de type de données inconnu.

La fonction de pointeur vide de C vous permet de les transtyper dans d'autres types de données, ce qui permet une allocation de mémoire facile. Par la suite, cela permet des fonctions flexibles comme les octets dans l'allocation de mémoire. De plus, les pointeurs void en C aident à exécuter des fonctions génériques.

(Un simple programme "Hello World" en langage de programmation C)

https://commons.m.wikimedia.org/wiki/File:C_Hello_World_Program.png

2. Comment fonctionne Void Pointer en C ?

Dans l'ensemble, la fonction de pointeur est essentielle pour la programmation. Au moins, on voit son importance dans la prise en charge de la gestion et de l'allocation mémoire.

Il existe deux types de pointeurs différents ; pointeurs génériques et pointeurs vides. Cependant, nous nous concentrons sur les pointeurs vides et leur fonctionnement en C.

Pour avoir un pointeur void en C, il suffit de déclarer une information avec le mot-clé « void ».

Dans l'ensemble, le référencement et le déréférencement jouent un rôle dans le concept de pointeur à usage général. Le déréférencement, dans ce cas, consiste à obtenir une valeur stockée dans la variable de pointeur.

Ainsi, si une valeur de pointeur n'est pas associée aux types de données disponibles, vous avez la conversion de type en option.

Cependant, notez que les pointeurs vides ne prennent en charge aucune opération arithmétique. Au lieu de cela, nous utilisons l'opérateur d'indirection "*". Pour cette raison, il devient nécessaire de transtyper en l'absence d'un type de données associé. Le transtypage associe donc le type de données déclaré à côté du pointeur void. Sinon, l'exécution du programme affiche une erreur de compilation.

La taille du vide est similaire à un pointeur de caractère en C. La taille de l'objet varie en fonction de la plate-forme du pointeur.

Ces fonctions de gestion de la mémoire sont malloc() et calloc(). En retour, ces fonctions aident à allouer de la mémoire au type de données nécessaire. D'une certaine manière, l'allocation de mémoire utilise un format qui permet au pointeur de fonction d'améliorer d'autres fonctionnalités.

(Une illustration picturale du fonctionnement des pointeurs en C).

https://commons.m.wikimedia.org/wiki/File:C_pointer_3.svg

3. Syntaxe du pointeur vide

Habituellement, il serait préférable d'utiliser la bonne syntaxe pour importer n'importe quelle fonction de programmation. Par conséquent, la syntaxe d'un pointeur vide en C est :

Annuler *pointer_name ;

Où « void » est le mot-clé du type de pointeur. Ainsi, nous avons le nom du pointeur vers lequel nous pointons et donnons une allocation d'adresse.

Prenons l'exemple ci-dessous :

entier b =6

car c ='z';

Par conséquent, dans le cas où nous incluons une variable de pointeur vide, nous avons :

Vide *p =&b; // void pointer alloue et conserve int 'b' comme adresse d'entier.

P =&c; // void pointer contient également l'adresse char 'c'.

Pour aller plus loin, soulignons quelques exemples de syntaxe :

entier je=6 ; // initialisation de la variable entière.

entier *p ; // déclaration de pointeur entier.

annuler *ptr ; // annuler la déclaration de pointeur.

flottant *fp ; // déclaration de pointeur flottant.

p =fp ; // pointeur invalide.

ptr=p; // pointeur valide.

fp=&i; // pointeur invalide.

ptr=&i; // pointeur valide.

ptr=fp ; // pointeur valide.

4. Quelques exemples de pointeurs vides en C avec des exemples de codes

Ensuite, nous examinons un exemple d'arguments de pointeur vide dans l'extrait de code ci-dessous :

Exemple de code #1

Dans le premier de nos exemples de code, nous montrons comment utiliser la fonction malloc(), ainsi :

#include

#include

int principal()

{

int a=90 ;

int *x =(int*)malloc(sizeof(int));

x=&a;

printf("valeur pointée par le pointeur x :%d",*x);

renvoie 0 ;

}

Sortie

Exemple de code n° 2

Dans ce code suivant, nous montrons le concept de conversion de type.

#include

int principal()

{

void *ptr =NULL ; //variable de pointeur vide

int *p =NULL ;// variable de pointeur entier

char *cp =NULL;//variable de pointeur de caractère

float *fp =NULL;//variable de pointeur flottant

//taille du pointeur vide

printf("taille du pointeur vide =%d\n\n",sizeof(ptr));

//taille du pointeur entier

printf("taille du pointeur entier =%d\n\n",sizeof(p));

//taille du pointeur de caractère

printf("taille du pointeur de caractère =%d\n\n",sizeof(cp));

//taille du pointeur flottant

printf("taille du pointeur flottant =%d\n\n",sizeof(fp));

renvoie 0 ;

}

Sortie

Sinon, voir le lien vidéo ci-joint ci-dessous sur les codes de pointeur vides dans la programmation C.

https://youtu.be/-503stjWLhc

5. Utilisations du pointeur vide

De loin, le pointeur vide a une grande pertinence dans la programmation en langage C.

Pour une meilleure compréhension, consultez l'exemple de code ci-dessous. Certains d'entre eux incluent :

#include

annuler main()

{

int num=10;//Initialise une variable normale

void *ptr;//Déclare le pointeur void

ptr=#//Dirige le pointeur Ptr vers num

printf("La valeur de la variable entière est=%d",*ptr );

}

Cependant, l'exécution de ce code entraîne une erreur de compilation. Si vous utilisez la conversion de type sur le même code pour déréférencer le pointeur, vous obtenez la sortie souhaitée, ainsi :

#include

annuler main()

{

int num=10;//Initialise une variable normale

void *ptr;//Déclare le pointeur void

ptr=#//Dirige le pointeur Ptr vers num

printf("La valeur de la variable entière est %d", *(int*)ptr );// Déréférencement par transtypage

}

La valeur de la variable entière est 10.

Par conséquent, en transtypant, nous pouvons déréférencer les pointeurs vides.

Ainsi, alors que l'arithmétique des pointeurs n'est pas valide avec les pointeurs vides, la conversion de type aide à résoudre ce problème. La sortie devient :

(Le pointeur vide facilite le codage en révélant l'emplacement des variables de données)

Pour illustrer, voir le code ci-dessous :

int principal(vide)

{

// Notez que la fonction malloc() renvoie void *

// Suite, transtypage vers n'importe quel type de données tel que char *, int *,…

int *x =malloc(sizeof(int) * n);

}

Notez que le programme ci-dessus se compile uniquement en C.

Conclusion

La fonction de pointeur vide est un outil de programmation essentiel, en général. Les programmeurs le trouvent utile car aucun type de données ne lui est associé. Au moins, cela élimine la confusion des pointeurs dirigeant différentes valeurs et classes de données les unes vers les autres. Par conséquent, les pointeurs vides réduisent l'excès de transtypage. Il prend également en charge le type de données de pointeur générique. Par conséquent, il s'agit également d'un compilateur générique.

Vous avez un guide complet sur l'utilisation des pointeurs vides dans c. Cependant, si vous avez des questions ou avez besoin d'autres ressources de programmation, notre page de contact est toujours disponible.


Technologie industrielle

  1. Pourquoi avez-vous besoin d'un audit énergétique de l'air sur votre système d'air comprimé
  2. Que sont les limiteurs de couple et pourquoi en avez-vous besoin
  3. Que sont les pinces hydrauliques et pourquoi en avez-vous besoin ?
  4. 4 raisons pour lesquelles vous devriez numériser votre documentation industrielle
  5. Pourquoi devez-vous absolument configurer un système Andon ?
  6. Découpe plasma :4 raisons pour lesquelles vous avez besoin d'une table plasma dans votre magasin dès maintenant
  7. 10 raisons impérieuses pour lesquelles vous avez besoin de la découpe au jet d'eau
  8. Pourquoi avez-vous besoin d'un ferronnier mécanique ?
  9. Pourquoi avez-vous besoin d'une petite servo-presse ?