C#에서 포인터 사용
훈스닷넷에 답글달고 정리 차원에서 남겨둔다.
C#에서는 C에서 처럼 포인터를 사용할수가 있다.
빌드옵션에서 안전하지 않은 코드 check 해주고 다음과 같은 방법으로 한다.
확인해보면 Int64는 8바이트, Int32는 4바이트 만큼 주소가 증가했음을 알 수 있다.
C#에서는 C에서 처럼 포인터를 사용할수가 있다.
빌드옵션에서 안전하지 않은 코드 check 해주고 다음과 같은 방법으로 한다.
static void Main(string[] args)
{
foo();
}
unsafe static void foo()
{
Int64 aa = 123456789;
Int64 bb = 123222;
IntPtr pt = new IntPtr(&aa);
IntPtr pt2 = new IntPtr(&bb);
Console.WriteLine(pt.ToString("x"));
Console.WriteLine(pt2.ToString("x"));
Int32 a = 1234231;
Int32 b = 154324;
IntPtr pt3 = new IntPtr(&a);
IntPtr pt4 = new IntPtr(&b);
Console.WriteLine(pt3.ToString("x"));
Console.WriteLine(pt4.ToString("x"));
}
확인해보면 Int64는 8바이트, Int32는 4바이트 만큼 주소가 증가했음을 알 수 있다.
댓글
댓글 쓰기