방법: 포인터로 멤버 액세스(C# 프로그래밍 가이드)
안전하지 않은 컨텍스트에 선언된 구조체의 멤버에 액세스하려면 다음 예제와 같이 멤버 액세스 연산자를 사용합니다. 이 예제에서 p는 x 멤버가 포함된 구조체에 대한 포인터입니다.
CoOrds* p = &home;
p -> x = 25; //member access operator ->
예제
이 예제에서는 x 및 y라는 두 좌표가 포함된 CoOrds라는 구조체를 선언하고 인스턴스화합니다. -> 멤버 액세스 연산자와 home 인스턴스에 대한 포인터를 사용하여 x 및 y에 값을 대입합니다.
참고
p->x 식은 (*p).x 식과 동일하며 두 식 중 어느 식을 사용해도 같은 결과를 얻을 수 있습니다.
// compile with: /unsafe
struct CoOrds
{
public int x;
public int y;
}
class AccessMembers
{
static void Main()
{
CoOrds home;
unsafe
{
CoOrds* p = &home;
p->x = 25;
p->y = 12;
System.Console.WriteLine("The coordinates are: x={0}, y={1}", p->x, p->y );
}
}
}