tôi gặp phải ảnh chụp đoạn mã sau:Máy chủ cấu trúc có trường "h_addr" không?
struct hostent *hp;
hp = my_gethostbyname(localhost);
if (hp == NULL) {
ls_syslog(LOG_ERR, I18N_FUNC_FAIL, fname, "my_gethostbyname()");
return -1;
}
strcpy(localhost, hp->h_name);
memcpy(&addr, hp->h_addr, hp->h_length);
tôi khá bối rối bởi những tuyên bố mới nhất, việc kê khai của struct hostent là như thế này:
struct hostent {
char *h_name; /* official name of host */
char **h_aliases; /* alias list */
int h_addrtype; /* host address type */
int h_length; /* length of address */
char **h_addr_list; /* list of addresses */
};
Nó không có một trường có tên là " h_addr ", nhưng mã đã làm có thể biên dịch, bất cứ ai có thể cho tôi biết lý do tại sao? cảm ơn.
Cảm ơn ..... chút xấu hổ .... – wangshuaijie