将一个整数,比如1567898765转换为xxx.xxx.xxx.xxx的IP地址的形式,
以下是源代码
union IPNode
{
unsigned int addr;
struct
{
unsigned char s4,s3,s2,s1;
};
};
void PrintIP(unsigned int x)
{
IPNode a;
a.addr = x;
printf("%d.%d.%d.%d\n",a.s1,a.s2,a.s3,a.s4);
}
void main()
{
unsigned int ip = 1567898765;// "192.11.23.22"
PrintIP(ip);
}
这个例子很巧妙的利用了联合体共享内存的特点。