读书人

请问一个指针初始化的有关问题

发布时间: 2012-02-08 19:52:21 作者: rapoo

请教一个指针初始化的问题
struct netif {
struct netif *next;
struct ip_addr ip_addr;
struct ip_addr netmask;
struct ip_addr gw;
err_t (* input)(struct pbuf *p, struct netif *inp);
err_t (* output)(struct netif *netif, struct pbuf *p,
struct ip_addr *ipaddr);
err_t (* linkoutput)(struct netif *netif, struct pbuf *p);
void *state;
u8_t hwaddr_len;
u8_t hwaddr[NETIF_MAX_HWADDR_LEN];
u16_t mtu;
u8_t flags;
char name[2];
u8_t num;
};

请问像这样的结构体定义的结构指针应该如何初始化呢?
像下面这样可以吗?我编译了一下这样怎么好像有错误?
struct netif *mynetif=(struct netif*)malloc(sizeof(struct netif));

另外像下面这么赋值都可以编译通过,但它们有什么区别??每种赋值都正确吗?
struct netif *mynetif = 0;
struct netif *mynetif = (void *)0;
struct netif *mynetif = (struct netif *)0;


[解决办法]
struct netif *mynetif=(struct netif*)malloc(sizeof(struct netif));
这句可以啊

指针初始化就是NULL好了

读书人网 >VC/MFC

热点推荐