Comment : incrémenter et décrémenter des pointeurs (Guide de programmation C#)
Utilisez les opérateurs d'incrémentation et de décrémentation, ++ et --, pour changer l'emplacement du pointeur de sizeof (pointer-type) pour un pointeur de type pointer-type*. Les expressions d'incrémentation et de décrémentation prennent la forme suivante :
++p;
p++;
--p;
p--;
Les opérateurs d'incrémentation et de décrémentation peuvent être appliqués aux pointeurs de tout type à l'exception du type void*.
L'application de l'opérateur d'incrémentation à un pointeur du type pointer-type a pour effet d'ajouter sizeof (pointer-type) à l'adresse contenue dans la variable pointeur.
L'application de l'opérateur d'incrémentation à un pointeur du type pointer-type a pour effet de soustraire sizeof (pointer-type) à l'adresse contenue dans la variable pointeur.
Aucune exception n'est générée lorsque l'opération produit un dépassement de capacité sur le domaine du pointeur, et le résultat dépend de l'implémentation.
Exemple
Dans cet exemple, vous circulez dans un tableau en incrémentant le pointeur de la taille de int. À chaque étape, vous affichez l'adresse et le contenu de l'élément de tableau.
// compile with: /unsafe
class IncrDecr
{
unsafe static void Main()
{
int[] numbers = {0,1,2,3,4};
// Assign the array address to the pointer:
fixed (int* p1 = numbers)
{
// Step through the array elements:
for(int* p2=p1; p2<p1+numbers.Length; p2++)
{
System.Console.WriteLine("Value:{0} @ Address:{1}", *p2, (long)p2);
}
}
}
}
Voir aussi
Référence
Expressions de pointeur (Guide de programmation C#)
Manipulation de pointeurs (Guide de programmation C#)
Types pointeur (Guide de programmation C#)
fixed, instruction (référence C#)