C# 에서 DLL 을 사용하기 위해 배열을 넘기거나 받는 경우가 있습니다.

C# 에서는 C 와 같이 *(Pointer), &(Address) 연산자를 지원하지 않는데...

대신 ref 라는 형태로 지원하고 있습니다.

void TempTest(ref byte Data);  라는 함수가 있고 ref 를 통해 Byte 배열의 데이터를 준다고 가정합니다.

byte[] TestByte[100];

라고 선언하고, C 나 C++ 에서 쓰듯이

TempTest(ref TestByte); 라고 호출하면 바로 Error 가 납니다.

자!  그럼 이렇게 써보도록 하지요.

TempTest(ref TestByte[0]);

이렇게 사용하면 컴파일이 Pass 되고 정상적으로 데이터를 받을 수 있습니다.

C 나 C++ 에 익숙하신 분들은 위 구문이 &TestByte[0] 를 뜻한다고 이해하시면 됩니다.


이올린에 북마크하기(0) 이올린에 추천하기(0)
2009/06/20 02:04 2009/06/20 02:04
Posted by TylorSTYLE™

BLOG main image

카테고리

전체 (144)
Freeware (3)
Embedded (27)
신변잡기 (51)
디지털 회로 (2)
Programming (20)
무선 네트워크 (15)
Computer (18)
사용기 (7)

글 보관함

262

181

-35 days

today : 186

Daum 블로거뉴스
믹시