Не могу понять как работает программа.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Здравствуйте люди.Помогите понять как работают фнкции в программе(см. ниже). Учусь по книге Стефана Девидса С++ для чайников 4-е и 5-е издания читаю паралельно чтоб минимум ошибок было в коде.В частности не могу понять как работает функция sumArray( откуда взялся sizeOfArray)и функция displayArray что делает тоже не могу понять. Обьясните для чайников. Учил функции, но все равно не могу понять всего. В массиве inputValue используется индекс numberOfValue, а для чего и откуда индекс i, ведь его заменяет numberОfValue. Извините.
счетчик i необходим для работы цикла, а именно в цикле перебрать каждый элемент массива «integerArray», а «numberOfValue» это всего лишь параметр который передается при вызове функции и содержит длину массива «integerArray». i не заменяет «numberOfValue» а приближается к значению «numberOfValue» в цикле or (int i = 0; i < sizeOfArray; i++) от 0 до «numberOfValue».
А где тогда вызывается integerArray[], ведь он даже не объявлен и без индекса. Голова от этого всего кругом.Все таки большое спасибо.
А зачем выполнять for (int i = 0; i < sizeOfArray; i++), в каждой функции ведь это уже сделано в функцие main() , это что то типа повтора итерации или как?
Ведь можно написать функцию вот так
ТС, переменная
sizeOfArray
— это количество элементов массива, который передается функцииsumArray()
. В качестве первого аргумента, мы передаем этой функции массивintegerArray
, а точнее указатель на него. Второй аргумент —sizeOfArray
нужен для того, чтобы правильно проитерировать этот массив в цикле.Квадратные скобки после
integerArray
дают понять компилятору, что тип аргумента — целочисленный массив, а не просто целое число.P.S. Когда мы передаем массив в качестве параметра функции, на самом деле передается только указатель на начало этого массива. Поэтому, все изменения, происходящие с элементами массива, сохранятся после завершения работы функции.
В main() вы вводите с помощью цикла данные массива до тех пор пока вы не введете отрицательное число или не достигните конца массива, а в функциях циклы считывают данные вашего массива.