배열을 정의한 다음 변수에 할당하는 C ++ 에서 레거시 코드를 읽고 있습니다 (아래 참조). 예전에 포인터와 참고 문헌을 사용했지만이 표현의 의미에 대해 확신 할 수 없습니다. 질문 :
1.이 표현의 의미는 무엇입니까?
2. (WORD *)에 이미 다른 포인터가있을 때 외부 포인터가 필요한 이유는 무엇입니까?
미리 감사드립니다!
BYTE txbuf[16];
...
WORD crc = *((WORD*)(&txbuf[2]));
질문 2 먼저 :
"외부 포인터"가 없습니다. 내부 *
는 포인터 유형에 대한 캐스트의 일부이고 외부 *
는 결과 포인터를 역 참조합니다.
질문 1 :
여러 부분으로 나누면 다음과 같은 의미입니다.
BYTE txbuf[16];
...
BYTE* byte_pointer = &txbuf[2];
WORD* word_pointer = (WORD*) byte_pointer;
WORD crc = *word_pointer;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다