첫번째 질문
TUSLPacketData,TUSLRawData이 레코드로 선언되어잇고
각각의 레코드를 가리키는 포인터가
TUSLPacketData *PUSLPacketData;
TUSLRawData *PUSLRawData;선언되어 있습니다
그리고
pRD : PUSLRawData;
pUSLD : pUSLPacketData;
일때
pRD := PUSLRawData(@Buffer);
pUSLD := PUSLPacketData(@Buffer);
위에 코드가 뭘 의미하는건지..이 부분을 C언어로 바꾼다면 어떻게 해야 하는지..
알고 싶습니다.
두번째 질문
파스칼은 변수선언시 대소문자를 구별하지 않나요?
buff[]와 Buff[]는 같은 건가요?
@는 주소를 가리키는 연산자입니다. C의 *와 같습니다. 델파이에서 포인터형을 선언할때는 ^를 씁니다. C에서는 모두 *를 쓰지만...
그러니까 pRD는 Buffer의 주소를 가리키는 포인터가 되겠죠. 델파이에서는 C와는 달리 형변환이 엄격하니까 같은 포인터라도 PUSLRawData, PUSLPacketData, Pointer, ...등의 형을 서로 다르게 구별합니다. 그래서 "포인터타입(...)"이런 형식으로 형변환 한거구요...
두번째는, 델파이에서는 대소문자 구별을 하지 않습니다.
그러니까 두개가 똑같습니다.
^^ 항상 즐코하세요...