Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Листинг 3. Передача массива.




/*arr_pass.c*/#define COUNT 31main() { int temps[COUNT]; int index; float celsius; /*загрузка значений в массив*/ for (index = 0; index < COUNT; index++) { printf("Введите значение температуры #%d: ", index); scanf("%d", &temp[index]); } /*передача массива функции convert()*/ convert(temps); } /*функция преобразования значений*/convert(heat)int heat[]; { int index; float celsius; for (index = 0; index < COUNT; index++) { celsius = (5.0 / 9.0) * (temps[index] - 32); printf("%d\t\t%6.2f\n", heat[index], celsius); } }
 

 

Замечания по Си++
Запомните, что Си++ позволяет определять массив непосредственно в аргументе, например, следующим образом:   convert(heat[])

 

Так как в действительности был передан адрес массива, нам нет необходимости указывать количество элементов в формальном аргументе. Поэтому в записи используются только пустые квадратные скобки, указывающие на то, что имеется в виду именно массив:

convert(heat);int heat[];

Передача параметра посредством передачи адреса вместо копирования данных экономит память, но этот способ может давать побочные эффекты. Изменение


Рис. 6. Изменение значения массива функцией

массива в вызываемой функции приводит к изменению значений переданного ей массива, то есть если функция convert() присвоит новые значения массиву heat, эти же значения будут присвоены и массиву temps. Рис. 6 демонстрирует программу, в которой функция convert() добавляет к значению каждого элемента массива heat единицу. Массив heat имеет тот же адрес в памяти, что и массив temps, поэтому значение каждого элемента массива temps также увеличится на единицу.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных