程序malloc后,没有memset,在free的时候有没有将指针置空,竟然出现了野指针回指,成环了。找了好久,才找到问题的根源。自己教训很深,C的经验太少。
1、type* ptr = (type*)malloc(sizeof(type));
memset(ptr,0,sizeof(type)); //即使不用,也要有这跟弦,set下总没错
2、free(ptr);
ptr = NULL; //即使不用,也置一下,写上总没错
正是在这可写可不写之间,浪费了太多的时间。写上了,也许可以避免很多的Segmentation fault。
提醒下自己,不要抱有侥幸心理,有概率就会发生。