Introduction to unsafe code C# with Example



Introduction to unsafe code C# with Example

C# allows using pointer variables in a function of code block when it is marked by the unsafe modifier. The unsafe 
code or the unmanaged code is a code block that uses a pointer variable. 
A pointer is a variable whose value is the address of another variable i.e., the direct address of the memory 
location. similar to any variable or constant, you must declare a pointer before you can use it to store any variable 
address. 
The general form of a pointer declaration is: 
type *var-name; 
Following are valid pointer declarations: 
int *ip; /* pointer to an integer */ 
/* pointer to a double */ 
double *dp; 
float *fp; /* pointer to a float */ 
char *ch /* pointer to a character */ 
The following example illustrates use of pointers in C#, using the unsafe modifier: 
using System; 
namespace UnsafeCodeApplication 
{ 
class Program 
{ 
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(); 
} 
} 
} 
When the above code wass compiled and executed, it produces the following result: 
Data is: 20 
Address is: 99215364 
Instead of declaring an entire method as unsafe, you can also declare a part of the code as unsafe: 
// safe code 
unsafe 
{ 
// you can use pointers here 
} 
// safe code 
 

0 Comment's

Comment Form

Submit Comment