C# - unsafe와 fixed
C#에서는 기본적으로 관리되지 않는 메모리 조작은 할 수 없게 되어있는데다음과 같은 옵션을 체크하면 포인터와 같이 메모리를 조작할 수 있다. 이 옵션 없이 unsafe 지시어를 사용하면 빌드 오류가 발생한다. class Person { public string name; public int age; } static void Main(string[] args) { int i = 0; unsafe { Console.WriteLine("{0:X}", (int)&i); Person person = new Person(); // 에러 : 이미 고정된 값은 할당불가 //fixed(int* p = &i) fixed(int* p = &person.age) { Console.WriteLine(*p); SetValue(p..
2015.02.03