在C语言中,删除操作通常指的是释放动态分配的内存,这里有两种常见的方法:使用free()函数和realloc()函数,下面是详细的步骤和示例代码:

c语言删除怎么写c语言删除怎么写(图片来源网络,侵删)

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