我创建了结构数组及其成员,如
struct hostDB {
u_int8_t host_id;
u_int8_t host_mac[ETHER_ADDR_LEN];
unsigned char mdvalue[1024];
unsigned char password[50];
};
struct hostDB structhostdb[1024];
我需要使结构数组及其成员初始化为零。我试过这个命令,但它不起作用,
memset(structhostdb,0,1024);
& memset(structhostdb,0,sizeof(structhostdb));
请帮助我。提前谢谢。
答案 0 :(得分:0)
他们是一个小问题,应该是这样的: -
memset(structhostdb,0,sizeof(struct hostDB)*1024);
sizeof->函数需要结构的类型而不是结构的对象,所以它不会是" structhostdb"但将是" struct hostDB"。
为了避免混淆,给结构定义和结构声明赋予不同的名称。