memset函数的思考?
为什么一定要在定义了一个存储数据的区域后要用memset初始化这个区域呢?
如:char s[30];
memset(s, 0, sizeof(s) );
我觉得没有必要作这个memset的动作呀?
是不是为了防止不小心没有给s赋值就使用了s的情况?
但我觉得当我定义了char s[30];
后,s这块存储区的内容应该就都是0了吧?
上次有人问这个问题,我回答了,还没有给我分呢。呵呵
char s[30];
printf("%s",s);
memset(s, 0, sizeof(s) );
你这样试试!?呵呵,绝对的乱码!
memset在数据的时候,也许你觉得没有用,但是如果你申明一个链表,每一个节点含有好几十个数据项。每个数据项都需要清0,这个时候你就会觉得有用了。