Ubuntu eclipse 3.4 启动出现一个小白窗口 急待解决

struct hostent *h;
h=gethostbyname(argv[1]);
printf("IP Address : %s\n",inet_ntoa(*((struct in_addr *)h->h_addr)))


char * inet_ntoa(struct in_addr in)
inet_ntoa的参数是一个in_addr的结构体 怎么语句里成了指针?
*((struct in_addr *)h->h_addr)最终表示的是什么意思 能否给详细解释一下

作者: God_In_You   发布时间: 2011-06-03

额 没人知道吗 自己顶

作者: God_In_You   发布时间: 2011-06-03

引用:
inet_ntoa(*((struct in_addr *)h->h_addr))


拆分一下
(struct in_addr *)h : 将指针h强制转换为in_addr类型
(struct in_addr *)h->h_addr : 指针h所指向的结构体中的内容,此处为h_addr,这个h_addr应该是一个指针
*((struct in_addr *)h->h_addr) : 取出h_addr指向的内容,按照你的说法应该就是一个in_addr类型的结构体

C++ N多时间没用了,可能有不正确的地方,多多包涵~

作者: qgymib   发布时间: 2011-06-03