关于结构体地址的问题
小弟调程序的时候出现了如下问题
就是将一个字符串发送出去,如果照下面写则收到的数据包内容是Hello
char *a = "Hello";uip_send(a,5);
voiduip_send(void *data, int len){ int copylen;#define MIN(a,b) ((a) < (b)? (a): (b)) copylen = MIN(len, UIP_BUFSIZE - UIP_LLH_LEN - UIP_TCPIP_HLEN - (int)((char *)uip_sappdata - (char *)&uip_buf[UIP_LLH_LEN + UIP_TCPIP_HLEN])); if(copylen > 0) { uip_slen = copylen; if(data != uip_sappdata) { memcpy(uip_sappdata, (data), uip_slen); } }}#define memcpy(dest, src, count) w_memcpy(dest, src, count)void *w_memcpy(void *out, const void *in, size_t n){ uint8_t *src, *dest; src = (uint8_t *) in; dest = (uint8_t *) out; while(n-- > 0) { *dest++ = *src++; } return out;}struct data{ char *a ;}data_raw;struct data *data_p;data_p = &data_raw;data_p->a = "Hello";uip_send((void *)data_p,5);