用户名: 密码: 忘记密码? 注册
收藏此问题 发表新评论

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 09:36:00
额 没人知道吗 自己顶 :em06
昵称: God_In_You  时间: 2011-06-03 10:39:00
引用:
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多时间没用了,可能有不正确的地方,多多包涵~ :em04
昵称: qgymib  时间: 2011-06-03 12:08:00
发表评论
昵称:
内容:
验证: