Como: Incremento e de diminuição ponteiros (guia de programação translation from VPE for Csharp)
Use o incremento e operadores de decréscimo, ++ e --, para alterar o local do ponteiro por sizeof (pointer-type) para um ponteiro de tipo de ponteiro-tipo *. As expressões de incremento e de decremento assumem o formato seguinte:
++p;
P++;
--p;
p--;
Os operadores de incremento e de decremento podem ser aplicados a ponteiros de qualquer tipo, exceto o tipo de void*.
O efeito de aplicar o operador de incremento para um ponteiro do tipo pointer-type é adicionar sizeof (pointer-type) para o endereço contido na variável de ponteiro.
O efeito de aplicar o operador de decremento para um ponteiro do tipo pointer-type é subtrair sizeof (pointer-type) do endereço contido na variável de ponteiro.
Não permitir exceções são geradas quando a operação estoura o domínio do ponteiro e o resultado depende a implementação.
Exemplo
Neste exemplo, você percorrer uma matriz aumentando o ponteiro pelo dimensionar da int. Em cada etapa, você pode exibir o endereço e o conteúdo do elemento da matriz.
// 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);
}
}
}
}
Value:0 @ Address:12860272 Value:1 @ Address:12860276 Value:2 @ Address:12860280 Value:3 @ Address:12860284 Value:4 @ Address:12860288
Consulte também
Conceitos
Referência
Ponteiro expressões (guia de programação translation from VPE for Csharp)
Manipulação de ponteiros (guia de programação translation from VPE for Csharp)
Tipos de ponteiro (translation from VPE for Csharp Programming guia)
Instrução fixa (referência C#)
stackalloc (translation from VPE for Csharp Reference)