当前位置: 技术问答>linux和unix
一个始终想不通的问题,望高手指点
来源: 互联网 发布时间:2015-04-21
本文导语: 因为需要,我变了一个获得主机IP的程序,源码如下: #include #include #include int main(int argc,char** argv) { struct hostent *he; struct utsname myname; struct in_addr *paddrlist; char **addes; if(uname(&myname)h_addr_list;...
因为需要,我变了一个获得主机IP的程序,源码如下:
#include
#include
#include
int main(int argc,char** argv)
{
struct hostent *he;
struct utsname myname;
struct in_addr *paddrlist;
char **addes;
if(uname(&myname)h_addr_list;---------------------(2)
}
可是在用gcc编译时,总是在(1)处出现警告warning:assignment makes point from integer without a cast,但在gethostbyname前加上(struct hostent*)强制类型转换就不会出此问题。gethostbyname返回的不就是一个struct hostent得指针吗?
要命的是在(2)处总是出现dereferencing point to incomplete type的致命错,
不管是在我自己的单机上还是另外一台服务器上都是这样,望高手指点。
#include
#include
#include
int main(int argc,char** argv)
{
struct hostent *he;
struct utsname myname;
struct in_addr *paddrlist;
char **addes;
if(uname(&myname)h_addr_list;---------------------(2)
}
可是在用gcc编译时,总是在(1)处出现警告warning:assignment makes point from integer without a cast,但在gethostbyname前加上(struct hostent*)强制类型转换就不会出此问题。gethostbyname返回的不就是一个struct hostent得指针吗?
要命的是在(2)处总是出现dereferencing point to incomplete type的致命错,
不管是在我自己的单机上还是另外一台服务器上都是这样,望高手指点。
|
没包含头文件:
#include
#include