在C语言中,删除操作通常指的是释放动态分配的内存,这里有两种常见的方法:使用free()
函数和realloc()
函数,下面是详细的步骤和示例代码:
(图片来源网络,侵删)
1、使用free()
函数释放内存
free()
函数用于释放之前使用malloc()
、calloc()
或realloc()
函数分配的内存,使用方法如下:
#include <stdlib.h> void free(void *ptr);
ptr
是要释放的内存块的指针。
示例代码:
#include <stdio.h> #include <stdlib.h> int main() { int *arr = (int *)malloc(5 * sizeof(int)); // 分配内存 if (arr == NULL) { printf("内存分配失败 "); return 1; } // 使用内存... free(arr); // 释放内存 return 0; }
2、使用realloc()
函数调整内存大小并释放多余的内存
realloc()
函数用于调整之前分配的内存块的大小,如果新的大小大于原来的大小,那么会保留原来的数据并分配更多的内存;如果新的大小小于原来的大小,那么会释放多余的内存,使用方法如下:
#include <stdlib.h> void *realloc(void *ptr, size_t new_size);
ptr
是要调整大小的内存块的指针,new_size
是新的内存大小(以字节为单位)。
示例代码:
#include <stdio.h> #include <stdlib.h> int main() { int *arr = (int *)malloc(5 * sizeof(int)); // 分配内存 if (arr == NULL) { printf("内存分配失败 "); return 1; } // 使用内存... arr = (int *)realloc(arr, 3 * sizeof(int)); // 调整内存大小并释放多余的内存 if (arr == NULL) { printf("内存调整失败 "); return 1; } // 使用调整后的内存... free(arr); // 释放内存 return 0; }
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/400794.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复