포인터에 관한 질문

xeon007의 이미지

struct packet {
unsigned int data_size;
union {
struct {
char host_name[EP_HOSTNAME_SIZE];
} init_content;
char data[1]; //data[1]은 배열의 첫번째 배열의 size는 data_size
} data_part;
};

char recv_buf[PACKET_SIZE], SERVER_IP[20];
struct packet *rPacket;
rPacket = (struct packet *)recv_buf;
선언...

사용stlport queue 사용

1) Msg.push(rPacket->data_part.data);
2) Msg.push((char *)rPacket->data_part.data);

1번과 2번중 어느것이 맞는건지.^^;;

vuccell의 이미지

당연히 1번 -,-;;;
2번으로 쓰고 싶으시다면
(char *)(rPacket->data_part.data)

앗 (char *) 랑 -> 의 우선순위가 헷갈리기 시작 -,-;;;
"->"이게 더 높을것 같은데.. 그렇담 1번이나 2번이나 똑같겠죠....
이런건 코딩해서 한번 실행해보면 될것같은데 -,-;;;;