2015-01-23 2 views
-4
bool b; 
unsafe 
{  
    bool* p1 = &b; 
    Console.WriteLine("p1: {0}", p1->ToString()); 
} 

나에게bool 변수의 주소는 어떻게 인쇄 할 수 있습니까?

P1 제공합니다 :

거짓을하지만 주소를 인쇄 할. 내가 어떻게 해?

+0

먼저 검색하십시오. – CodeCaster

+0

결과는 놀랍지 않습니다 : 어쨌든 당신은'bool * '을 역 참조 ('->')하기 때문에'bool'을 되찾았고, * to *를 ToString이라고 부릅니다. 'bool * '을 출력 할 수 있을지 확신 할 수 없습니다. 주제 외 : 가비지 수집기로 인해 개체 주소가 변경 될 수 있으므로 ['GCHandle'] (https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.gchandle.aspx) 유형 및 구체적으로 ['GCHandle.AddrOfPinnedObject'] (https://msdn.microsoft.com/en-us/library/system.runtime.interopservices.gchandle.addrofpinnedobject.aspx)를 참조하십시오. – stakx

+1

가능한 복제본 : http://stackoverflow.com/q/2057469/1552016 – qqbenq

답변

3
using System; 

namespace Test81 
{ 
    class MainClass 
    { 
     public static void Main(string[] args) 
     { 
      bool b; 
      unsafe 
      {  
       bool* p1 = &b; 
       Console.WriteLine("p1: 0x{0:X}", new IntPtr(p1).ToInt64()); 
      } 
     } 
    } 
} 
관련 문제