c - C中删除动态数组的元素

标签 c arrays

我有一个动态整数数组:

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/

相关文章:

在 Linux 中使用命令行编译 F# 程序

c++ - 在 Linux 上构建带有链接时间代码生成的静态库的正确方法是什么?

php - 通过 Ajax 将 Javascript 对象发送到 PHP

c# - 使用分隔符连接多个字符串

java - 令人困惑的 Java 语法

C# 3 维数组

php - 如何在 PHP 脚本中正确地将元素与 SQL 表隔离

数组中最小和第二小的c程序

c - "strlen"在 C 中给出不同的结果

c - 将 token 的内容放在引号中