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