2013-06-20
Программирование на языке C. Передача массивов функциям
Вы можете передавать массивы функциям. Предположим, вам необходимо просуммировать значения, запомненные в массиве.
#define МАХ 100 double dta[МАХ];
Прототип функции, которая принимает как параметр массив значений double, можно записать так:
double SumData(double dta[MAX]);
Лучше оставить квадратные скобки пустыми и добавить второй параметр, означающий размер массива:
double SumData(double dta[ ] , int n) ;
Функцию SumData() написать нетрудно. Простой цикл while суммирует элементы массива, а оператор return возвращает:
double SumData(double dta[ ], int n)
{ // <
double sm = 0;
while (n > 0)
sm += dta[--n];
return sm;
}
Для экономии стековой памяти С передает функциям не содержимое массива, а лишь его адрес. Элементы массива остаются на своих местах. Такой способ экономит память стека, но приводит к тому, что изменение значений элементов массива в функции затрагивает исходные данные.
Все новости>>
2021-04-01
Google сообщил о запуске проекта Dunant
Проект Dunant, начатый в 2018 году, был запущен в эксплуатацию. Трансатлантический интернет-кабель соединяет США и континентальную Европу. Общая протяженность...
подробнее2020-04-06
Новшества в обновленной Windows 10
Корпорация Microsoft завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...
подробнее