编辑代码

#include <stdio.h>

#define uchar unsigned char
#define ushort unsigned short
#define ulong unsigned long

#define u8_16    0
#define u16_8    1
#define u32_4    2

struct IPv6_addr
{
    union ipv6_union
    {
        uchar       addr8[16];
        ushort      addr16[8];
        ulong       addr32[4];
    }ip_v6;
};

typedef struct
{
    struct IPv6_addr ulQueryIpV6;

}query_t ;


void showIPv6_Addr(int type, struct IPv6_addr Ip)
{
    printf("\n---------IPV6 地址 ----------\n");
    int i;

    switch(type)
    {
        case u8_16:
            for(i = 0; i < 16; i++)
            {
                if(i!=15)
                    printf("%02x:",Ip.ip_v6.addr8[i]);
                else
                    printf("%02x",Ip.ip_v6.addr8[i]);
            }
        break;
        case u16_8:
            for(i = 0; i < 8; i++)
            {
                if(i!=7)
                    printf("%04x:",Ip.ip_v6.addr16[i]);
                else
                    printf("%04x",Ip.ip_v6.addr16[i]);
            }
        break;
        case u32_4:
            for(i = 0; i < 4; i++)
            {
                if(i!=3)
                    printf("%08x:",Ip.ip_v6.addr32[i]);
                else
                    printf("%08x",Ip.ip_v6.addr32[i]);
            }
        break;
        default:
        break;
    }

}


int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
   // printf("Hello world!     - c.jsrun.net.");


struct IPv6_addr arr[3] = {0};

    return 0;
}