分类: C/C++
2008-05-14 17:24:01
}
p2[900] = 1;
free(p2);
system("pause");
return 1;
}
malloc函数原型:
Allocates memory blocks.
void *malloc(
size_t size
);
Parameters
size
Bytes to allocate. 分配指定Bytes 而不是sizeof(size*sizeof(short))
所以上面只申请了1000字节的空间
当 p2[900] = 1;时 越界因为其访问的是p2+900*sizeof(short)
良好的编程习惯 加上sizeof p2 = (short*)malloc(1000*sizeof(short));