typedef struct hostent
{ char FAR* h_name;
char FAR FAR** h_aliases;
short h_addrtype; short h_length;
char FAR FAR** h_addr_list;
} hostent;以上为在MSDN中看到的hostent的结构定义,不太明白,请哪位给解释一下所出现的FAR及FAR*,FAR**的具体用途和含义!最好详细一些!
多谢!
{ char FAR* h_name;
char FAR FAR** h_aliases;
short h_addrtype; short h_length;
char FAR FAR** h_addr_list;
} hostent;以上为在MSDN中看到的hostent的结构定义,不太明白,请哪位给解释一下所出现的FAR及FAR*,FAR**的具体用途和含义!最好详细一些!
多谢!
到了Win32中,内存具有32位的线性地址,没有分段的概念了,但是为了照顾Win16程序员的习惯,FAR和NEAR都被保留了下来,但是它们的意思是一样的,都表示指针(其实不使用它们也可以)。
还有Win32中的LP(Long Pointer)中的L(Long)也是一样的道理。
{ char FAR* h_name;
char FAR FAR** h_aliases;
short h_addrtype; short h_length;
char FAR FAR** h_addr_list;
} hostent;
我可否用
typedef struct my_hostent
{ char * h_name;
char ** h_aliases;
short h_addrtype; short h_length;
char ** h_addr_list;
} my_hostent;
这样的结构体参数调用呢?