У вас вопросы?
У нас ответы:) SamZan.net

массивы и параметрыструктуры Массив не передается по значению а передается указатель на его первый элеме

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 26.12.2024

12 Параметры-массивы и параметры-структуры

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

Но размер массива недоступен вызываемой функции. Это можно обойти несколькими способами. Строки оканчиваются нулем, поэтому их размер можно вычислить. Для других массивов можно передавать их размер с помощью дополнительных параметров, которые задают размер, или определяют тип, содержащий указатель и индикатор длины, и передавать его вместо просто массива. Например:

voidcompute1(int* vec_ptr, intvec_size);    // одинспособ

structTvector    // другой способ с помощью структуры

{  int* ptr;  // указатель на целочисленный массив

int size; // размермассива

};

void compute2(vec v);

Для многомерных массивов можно вместо них использовать векторы указателей, которые не требуют специального рассмотрения. Например:

char* day[] = { "mon", "tue", "wed", "thu", "fri", "sat", "sun" };

При использовании в качестве параметров функций переменных-структур возможно следующее:

1) использование для передачи данных по значению;

2) использовать для передачи данных по ссылке.

При передаче данных по ссылке внутри тела функции используется указатель на структуру. Доступ к данным полей структуры выполняется с помощью оператора «стрелка» (->). Который автоматически выполняет операцию разыменовывания. Формат:

имя_указателя_на_структуру->имя_поля

Пример использования параметра-структуры для функции чтения полей с клавиатуры и передачи их в программу.

intentry(structsman* man)     // Определение функции ввода данных структуры

{ cout<< "\nИмяклиента          : ";

cin>> man->name;

cout<< "\nОтчество клиента     : ";

cin>>man->name2;

cout<< "\nФамилияклиента      : ";

cin>> man->family;

cout<< "\nГодрожденияклиента : ";

cin>>man->year;

cout<< "\nНомерсчетаклиента  : ";

cin>>man->number;

return 0;      // Код успешного окончания процесса

} // ---------------------------------------

При передаче параметров-структур по значению рекомендуется указывать описание параметра struct в формате

structимя_типа_структурыпеременная_структур




1. на тему Морозные узоры Дата 13
2. Социальные проблемы современного общества и их отражение в прессе
3. International experience of legal regulation of a customs service and opportunities of his(its) application in national practice of a Republic of Uzbekistan
4. вступил Инвестиционный кодекс который заменил большое число разрозненных нормативных актов регулирующих и
5. Реферат- Анализ преимуществ и недостатков электронных коммуникаций
6. реферату- Організація життєзабезпечення населення в надзвичайних ситуаціяхРозділ- БЖД Організація життєз
7. ЭКОНОМИКА 2 курс Дата Ауд.html
8.  Введение
9. Оказание государственной поддержки неплатежеспособным предприятия
10. Тема 1 Поняття національної та літературної мови
11. Разработка дизайна организации и сферы услуг, методы доставки услуг
12. Тема 1.Финансовый менеджмент управленческий комплекс9 Тема 2
13. Статья- Альтернативные методы рекламы в интернете
14. правовому развитию зарубежных стран в Новое и Новейшее время
15. Тема 14 Привлечение в качестве обвиняемого
16. Благодаря этому нам всем вместе удалось существенно изменить облик Кировского района
17.  ЧИПСЫКартошка по сути не самый полезный продукт ~ крахмал да и только а в чипсах и вовсе ничего полезного и
18. 1994 Настоящее исследование не может считаться полным
19. Тема. Предмет метод система принципы история международного права Конусов ю
20. О Болонской реформе в Италии