c - 从数组中删除值

标签 c arrays

是否有任何简单的方法可以从数组中删除值,然后将所有其他值向上移动到它们的位置,即有点像位移位?

例如,假设我有一个数组

a[5] = {0x01,0x02,0x03,0x04,0x05};

我想删除前两个值并移动其余值,以便数组变为:

a[5]= {0x03,0x04,0x05,0x00,0x00};

是否有任何简单的方法可以做到这一点,而无需创建新数组并使用 for 循环来传输 a[1] 之后的所有值?

最佳答案

我不确定你使用什么语言,但总体思路可能是这样的

for(i=0; i<(5-2); i++){
    a[i] = a[i+2];
}
a[3] = a[4] = 0;

因此,您不需要数组的副本,只需移动现有数组中的值即可。

关于c - 从数组中删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21378741/

相关文章:

c - 获取指针数据的大小

c - 是否有一个标准的 C 函数来计算字符串长度达到某个限制?

performance - MATLAB 类数组

arrays - 更新字典数组中的值

javascript - JS,如何在FormData中追加数组?

c - 如何在makefile中正确编写模式规则?

c - 关于同步对象的一些问题[Linux os]

python - numpy.random.randint() 是否总是返回连续且对齐的 ndarray?

javascript - 在Javascript中使用数组的键变量将数组的数组提取为哈希表

C 读() : Invalid arguments