2016-04-18 21 views
-2

整数の値が変更されると、新しい値がメモリ内の新しい場所に格納されます。変数の参照を新しい場所に更新します。c#整数は内部的にどのように管理されますか?

整数変数の値が変更されると、同じメモリ位置の古い値が新しい値に置き換えられます。

この状況はどのようにC#コンパイラによって処理されますか?

私は次のコードを試してみました。

static unsafe void Main(string[] args) 
    { 
     int i = 5; 
     int* ptr = &i; 
     IntPtr addr = (IntPtr)ptr; 
     Console.WriteLine(addr.ToString("x")); 

     i = 7; 
     ptr = &i; 
     addr = (IntPtr)ptr; 
     Console.WriteLine(addr.ToString("x")); 
    } 

私は両方の値が同じ値になっています。それはCのように機能しますか?または、iの値を指すポインターの印刷アドレス?

答えて

関連する問題