如何将数组中的每个元素设置为0

时间:2014-07-05 02:49:38

标签: c++ arrays pointers

我正在学习C ++,我的一个练习练习是使用指针将数组中的所有元素设置为0.我不知道如何通过将指针递增到数组中的下一个位置来实现这一点log表示禁止在 int 和*之间进行比较。我只需要一个小片段作为例子来帮助我更好地了解我出错的地方。我创建的数组是 int 类型,并且只有一个维度,包含由1,2,3,4和5组成的5个元素。

2 个答案:

答案 0 :(得分:1)

int array[5] = {1, 2, 3, 4, 5};

for(int *i = &array[0], *end = &array[5]; i != end; i++)
    *i = 0;

代码创建指向开始&array[0]的指针和指向结束&array[5]之后一个位置的指针。 然后它将指针指向数组,将每个元素设置为零。 更高级的概念非常相似iterators

答案 1 :(得分:0)

您可以使用std :: fill,http://en.cppreference.com/w/cpp/algorithm/fill,如下所示。

const size_t dataSize = 10;
int data[dataSize];
std::fill(data, data + dataSize, 0);