Konwersje wskaźników (Przewodnik programowania w języku C#)
W poniższej tabeli przedstawiono konwersje wstępnie wskaźnik niejawne.Konwersje niejawne mogą występować w wielu sytuacjach, w tym metody wywoływania i przypisanie sprawozdania.
Konwersje niejawne wskaźnik
Od |
Do |
---|---|
Dowolny typ wskaźnika |
void * |
NULL |
Dowolny typ wskaźnika |
Jawne wskaźnik konwersji jest używany do przeliczania, dla których istnieje niejawna konwersja, korzystając z wyrażeniem rzutowania.W poniższej tabeli przedstawiono te konwersje.
Konwersje jawne wskaźnik
Od |
Do |
---|---|
Dowolny typ wskaźnika |
Inny typ wskaźnika |
sbyte, bajt, short, ushort, int, uint, long lub ulong |
Dowolny typ wskaźnika |
Dowolny typ wskaźnika |
sbyte, bajt, short, ushort, int, uint, long lub ulong |
Przykład
W poniższym przykładzie, wskaźnik do int jest konwertowany na wskaźnik do byte.Należy zauważyć, że wskaźnik wskazuje najniższą zaadresowaną bajt zmiennej.Kiedy kolejno zwiększać wynik, rozmiar int (4 bajty), można wyświetlić pozostałe bajty zmiennej.
// compile with: /unsafe
class ClassConvert
{
static void Main()
{
int number = 1024;
unsafe
{
// Convert to byte:
byte* p = (byte*)&number;
System.Console.Write("The 4 bytes of the integer:");
// Display the 4 bytes of the int variable:
for (int i = 0 ; i < sizeof(int) ; ++i)
{
System.Console.Write(" {0:X2}", *p);
// Increment the pointer:
p++;
}
System.Console.WriteLine();
System.Console.WriteLine("The value of the integer: {0}", number);
// Keep the console window open in debug mode.
System.Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
}
/* Output:
The 4 bytes of the integer: 00 04 00 00
The value of the integer: 1024
*/
Zobacz też
Informacje
Wyrażenia wskaźników (Przewodnik programowania w języku C#)
Typy wskaźników (Przewodnik programowania w języku C#)
fixed — Instrukcja (odwołanie w C#)
Koncepcje
Przewodnik programowania w języku C#