当前位置: 技术问答>linux和unix
下面这样类型转换,居然可行,
来源: 互联网 发布时间:2015-04-18
本文导语: h->h_addr 是一个 char * 但是 inet_ntoa() 需要的是 struct in_addr 下面这样类型转换,居然可行, 我自己写一个结构,也可以转换成char *吗? printf("IP Address : %sn",inet_ntoa(*((struct in_addr *)h->h_addr))); | ...
h->h_addr 是一个 char *
但是 inet_ntoa() 需要的是 struct in_addr
下面这样类型转换,居然可行,
我自己写一个结构,也可以转换成char *吗?
printf("IP Address : %sn",inet_ntoa(*((struct in_addr *)h->h_addr)));
但是 inet_ntoa() 需要的是 struct in_addr
下面这样类型转换,居然可行,
我自己写一个结构,也可以转换成char *吗?
printf("IP Address : %sn",inet_ntoa(*((struct in_addr *)h->h_addr)));
|
C语言里强制类型转换,什么样的类型都可以互相转换,当然使用要格外小心。
|
转换没问题,关键是你的数据排列方式要和它内部的一样。使用强制转换自己一定要清楚自己在干什么。