Функции в С++ для начинающих. Передача в функцию обычных массивов

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

Вам нужно обязательно разделять понятия массива и понятие указателя — это разные сущности. Там, где массив, — там квадратные скобки; там, где указатели, — там звёздочки.
  • Эта статья о передаче в функцию обычного массива: одномерного, двумерного, трёхмерного, но обычного массива.
Чтобы отдать в функцию обычный массив, нужно объяснить функции в параметрах, что надо ждать массив. Это делается вот так:

Аналогию достроить вы сможете и сами легко. Конечно, здесь есть одно неудобство: число в квадратных скобках параметра функции должно точно соответствовать числу ячеек массива. Из-за этого может быть нужным/удобным выносить константы, обозначающие количества ячеек, в глобальную область видимости, а профессиональные программисты глобальные переменные используют редко.

Вот и всё.
В показанном коде у параметра функции ссылочный тип: ссылка на массив, хранящий значения с типом int.
Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

Один комментарий: Функции в С++ для начинающих. Передача в функцию обычных массивов

  • fo говорит:

    почему так получаеться:

    а так нет:

Добавить комментарий

Ваш e-mail не будет опубликован.

+ 73 = 76

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/kim-bentli/upravlenie-elektronnymi-ustroystvami-na-c-22988275/?lfrom=15589587
Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

В черном-черном городе, на черной-черной улице, в черном-черном доме, в черно-черной квартире сидит черный-черный мужик и говорит: - Никогда больше не буду сам заправлять картриджи!

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок