在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; }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)