현재 패킷 전송을위한 일부 소스 코드를 읽고 있습니다. 다음 의사 코드의 경우 "packet-> packet2 = (char *) data"행에 대해 실제로 의미하는 것은 무엇입니까? 변수 데이터의 문자 데이터 유형을 문자 데이터 유형으로 정의 된 packet2에 저장하는 것으로 이해할 수 있습니까? 당신이 pointer.You을 보유 할 수없는 structure.Char 변수의이 분야에 대한 포인터를 넣어 문자를 입력 char 형에서 packet2을 변경해야 할 수없는 문자C 다른 구조체에 대한 포인터
struct Node1
{
char packet1;
int num1;
}
struct Node2
{
char *packet2;
int num2;
}
int main(void)
{
struct Node1 *data;
struct Node1 var1;
struct Node2 *packet;
struct node2 var2;
data = &var1;
packet = &var2;
packet->packet2 = (char*) data;
}
에 해당 될 것입니다. 고쳐. – klutt
사실,'packet1' 변수에'packet2' 필드가 없습니다. 왜냐하면'Node1' 타입이기 때문입니다. – alseether
컴파일해도 틀린 것이 틀림 없습니다. 'char'에 포인터를 넣을 수 없습니다. –