C#에서 포인터 사용
훈스닷넷에 답글달고 정리 차원에서 남겨둔다. 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바이트 만큼 주소가 증가했음을 알 수 있다.
댓글
댓글 쓰기