프로필카테고리질문하기
로그인 계정 만들기

C#에 포인터가 있나요?

03 개월 전

C# 에도 C++ 같은 포인터가 있나요? 그리고 안전한가요?

답변하기 의견 추가
의견 (0)
더 많은 의견 보기

답글 (1)

네, C++같은 포인터가 있어요. 하지만 안전하지 않아요.

포인터를 사용하기 위해서는 unsafe로 안전하지 않은 코드를 표시한 다음 fixed로 GC를 방지해야해요.

unsafe static void Main() { int[] numbers = {1, 2, 3, 4}; fixed (int* p1 = numbers) { for(int* p2 = p1; p2 < p1 + numbers.Length; p2++) Console.WriteLine("값:{0}, 주소:{1}", *p2, (long)p2); } }

하지만 대부분의 경우 C#에서는 이런 방식의 코딩이 필요하지 않아요.

레퍼런스를 사용하거나, Marshal을 사용하여 해결할 수 있어요.

의견 추가
의견 (0)
더 많은 의견 보기