请教一个指针初始化的问题
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好了