Les partenaires publicitaires:

Comment utiliser des pointeurs vides dans c

Les pointeurs sont l'un des plus puissants - caractéristiques du langage de programmation C - et les plus difficiles. Lorsque l'on travaille avec des pointeurs, il est souvent nécessaire de convertir entre différents types de pointeurs différents. Parfois, il est possible de convertir directement à partir d'un type à l'autre, mais souvent, surtout dans les programmes complexes, vous trouverez peut-il nécessaire de stocker un pointeur qui a été converti d'un type, mais n'a pas encore été converti à un autre type de pointeur. Dans ce cas, vous aurez besoin d'utiliser un pointeur nul, ce qui représente un pointeur sans type du tout.

Choses que vous devez

  • Compilateur C
  • Programme C

Instructions



  1. Déclarez votre pointeur nul. Pour faire une variable globale ou locale ou d'un champ dans une structure, écrivez "vide p-" sur une ligne vide dans la fonction ou de la structure associée, ou à l'extérieur de toutes les fonctions et les structures pour la rendre globale. Pour ajouter un argument vide de pointeur vers une fonction, écrire "vide p" dans la liste d'argument de la fonction. Dans les deux cas, vous pouvez remplacer la lettre "p" avec un nom de variable de votre choix.




  2. Stocker une valeur dans votre variable de pointeur nul. Si vous avez fait une variable locale ou globale, il suffit d'écrire "p = (void)X-". Remplacer "X" avec le nom du pointeur typé vous souhaitez convertir à un pointeur void. Si vous avez fait un champ de structure, écrivez "s.p = (void)X-". Remplacer "s" avec le nom de la structure et "X" avec le nom du pointeur. Si vous avez fait un argument de fonction, appeler la fonction comme ceci: "f ((void * x))". Remplacer "F" avec le nom de la fonction, et "X" avec le nom du pointeur.

  3. Pour lire la valeur du pointeur de vide et le reconvertir en un pointeur typé, écrivez "x = (Type *) p-", Où "X" est le pointeur typé, "p" est le pointeur de vide et "Type" est le type original du pointeur vous avez stocké dans "p". Soyez prudent pour obtenir le type correct, parce que le compilateur C sera consciencieusement convertir le pointeur sur l'image que vous demandez, si vous avez raison ou non. Cela peut conduire à des bugs subtils qui sont difficiles à résoudre.

Conseils & Avertissements

  • Si vous écrivez autres de code va utiliser, vous pouvez utiliser des pointeurs nuls pour leur permettre de stocker leurs propres données pour une récupération ultérieure. Par exemple, si vous écrivez une bibliothèque de base de données de l'annuaire téléphonique, en plus d'enregistrer un nom et un numéro de téléphone pour chaque personne, stocker un pointeur nul ainsi. Cela permettra au programmeur qui utilise votre bibliothèque pour stocker ses propres données avec la vôtre.
  • Chaque fois que vous utilisez des pointeurs en C, être très prudent et ne les choses étape par étape. Les pointeurs sont l'une des caractéristiques les plus sujettes aux erreurs de C, et ont été l'une des sources les plus courantes de trous de sécurité dans le logiciel moderne.
» » » » Comment utiliser des pointeurs vides dans c