一个memset引发的血案

来源:互联网 发布:王思仪淘宝店 编辑:程序博客网 时间:2024/05/16 18:41

前几天做了一道BST题, 提交了几次都是WA, 今天抽空拿了出来仔细瞧瞧总算被我发现祸头根源.
总结原因还在于自己对memset不太了解, 以前用对估计也是瞎猫撞见死耗子

memset的介绍:
void *memset( void *buffer, int ch, size_t count );
buffer  指向某段内存的首地址,
ch      将ch拷贝到buffer指向的首地址开始的内存空间里.
count  要赋值的内存空间的大小, 即从buffer指向的首地址开始计算的总长度
          注: 每一个地址可以存储一个字符, 即一个字节
同时附上相应sizeof的介绍
sizeof (数组名) 可以计算出该数组总共的字节数
由上面可知 对于初始化一个字符数组 char a[25];
只需这样调用 memset(a, '/0', sizeof(a));
同理初始化一个int类型数组 int a[25];
memset(a, 0, sizeof(a));
而我却理所当然的认为是个数而不是长度......

原创粉丝点击