对同一指针重复调用
当我对同一指针使用不同的连续 calloc 函数时会发生什么?
int *ptr;
ptr = (int *) calloc(X, sizeof(int));
ptr = (int *) calloc(Y, sizeof(int));
ptr = (int *) calloc(Z, sizeof(int));
其中 X、Y、Z 是三个不同的值。
What happens when I use different succesive calloc functions over the same pointer?
int *ptr;
ptr = (int *) calloc(X, sizeof(int));
ptr = (int *) calloc(Y, sizeof(int));
ptr = (int *) calloc(Z, sizeof(int));
Where X,Y,Z are three distinct values.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您将失去与先前分配的内存的连接,并且将无法再释放它 - 内存泄漏
You will lose the connection to the previously allocated memory and you will no longer be able to free it - a memory leak
如果您无法释放先前分配的内存,则会泄漏该内存。
You leak the previously allocated memory if you lose the means to free it.
当您一遍又一遍地为
int
变量赋值时,会发生同样的事情(还有内存泄漏的额外问题)The same thing that happens when you assign a value to an
int
variable over and over again (with the extra problem of leaking memory)