Mega Code Archive

 
Categories / C# / Language Basics
 

Index a pointer as if it were an array

/* C#: The Complete Reference  by Herbert Schildt  Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Index a pointer as if it were an array.    using System;    public class PtrIndexDemo {    unsafe public static void Main() {      int[] nums = new int[10];        // index pointer      Console.WriteLine("Index pointer like array.");      fixed (int* p = nums) {        for(int i=0; i < 10; i++)           p[i] = i; // index pointer like array          for(int i=0; i < 10; i++)           Console.WriteLine("p[{0}]: {1} ", i, p[i]);      }        // use pointer arithmetic      Console.WriteLine("\nUse pointer arithmetic.");      fixed (int* p = nums) {        for(int i=0; i < 10; i++)           *(p+i) = i; // use pointer arithmetic          for(int i=0; i < 10; i++)           Console.WriteLine("*(p+{0}): {1} ", i, *(p+i));      }    }  }