Вы знаете начальную точку ( указатель! ) последовательности целых чисел, и вы знаете длину последовательности с вашей переменной count
.Тогда вы можете использовать указатель, как если бы он был действительным массивом .
int pointer_sum(int count, int* array){
int i, sum = 0;
for(i = 0; i < count; ++i) {
sum += array[i];
}
return sum;
}
Если вы не собираетесь использовать цикл for
, вы должны знать, что каждый цикл for
легко конвертируется в цикл while
.
int pointer_sum(int count, int* array){
int i, sum;
i = 0;
sum = 0;
while(i < count) {
sum += array[i];
++i;
}
return sum;
}
Если вам действительно нужно использовать арифметику указателей, вы должны знать, что a[i]
работает как *(a+i)
.
int pointer_sum(int count, int* array){
int i, sum;
i = 0;
sum = 0;
while(i < count) {
sum += *(array+i);
++i;
}
return sum;
}