Con trỏ là biến có giá trị là địa chỉ của biến khác, tức là địa chỉ trực tiếp của vị trí bộ nhớ. Tương tự như bất kỳ biến hoặc hằng số nào, bạn phải khai báo con trỏ trước khi có thể dùng nó để lưu trữ địa chỉ biến.
Cú pháp của con trỏ là:
type *var-name;
Dưới đây là cách bạn có thể khai báo kiểu con trỏ:
int *ip; /* con trỏ đến integer */ double *dp; /* con trỏ đến double */
C# cho phép sử dụng biến con trỏ trong hàm hoặc khối mã khi nó được đánh dấu bằng modifier unsafe. Mã unsafe hoặc unmanaged là khối mã sử dụng biến con trỏ.
Đây là module cho thấy cách khai báo và sử dụng biến con trỏ. Chúng ta đã dùng modifier unsafe ở đây:
static unsafe void Main(string[] args) {
int var = 20;
int* p = &var;
Console.WriteLine("Data is: {0} ", var);
Console.WriteLine("Address is: {0}", (int)p);
Console.ReadKey();
}