我试图使用变量作为增量来增加 int 数组,但它会引发错误。
int array[MAXSIZE];
int n;
//fill the array with some numbers
//some other code
这里的情况是,一旦我分析了前“n”个数字,我将不再需要它们,并且从头开始迭代数组会浪费周期,所以我想将数组增加“n”。
注意:由于我正在解决的问题类型,我不能只是
将位置保存在变量中,稍后使用 array[position] 从该位置开始;我必须永久增加指针。
array += n;
并抛出这个错误:赋值中的类型不兼容。
我事先不知道“n”是什么。我尝试使用数组 += sizeof(int)*n;但它也失败了。
int array[MAXSIZE];
array
是一个数组而不是一个指针。您不能递增数组变量。
你可以这样做:
int *p = array;
p += whatever;
只要确保你不顺从p
当它指向数组最后一个元素之外的任何元素时。
打印出来的事实array
and p
会给你相同的输出(地址)并不会使它们成为相同的东西。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)