当前位置:首页 > 行业动态 > 正文

c语言删除怎么写

在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