我有一个动态整数数组:
int *array = malloc(1000 * sizeof(int));
for (int i = 0; i < 1000; ++i) {
array[i] = i;
}
如何在不创建新数组并复制元素的情况下有效删除 555-565 之间的元素?
最佳答案
这可以算作删除吗?
#include <stdio.h>
#include <malloc.h>
#include <string.h>
int main(void) {
int* array = malloc(sizeof(int)*110);
for(int i=0; i<100; i++)
array[i]=i;
for (int r=56; r<100; r++)
array[r]=array[r+6];
//memset(array+94, 0, 5);
memset(array+94, 0, 5 * sizeof(int));
}
关于c - C中删除动态数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39394795/