Функції в c для початківців передача в функцію двовимірного динамічного масиву, c для початківців

Для того щоб створити двовимірний динамічний масив, був використаний покажчик на покажчик. Для вирішення звичайних завдань необов'язково вникати в суть покажчика і досить подивитися, як покажчики тут використовуються. Взагалі що таке покажчики, навіщо вони потрібні, їх недоліки та їх переваги будь-який поважаючий себе програміст напевно знає, а, значить, якщо вирішили навчитися програмувати, то теж повинні вивчити.

При написанні наведеної програми, осередки для двовимірного масиву були динамічно створені всередині функції main () Відразу ж був дописаний код очищення пам'яті від створюваного масиву. Якщо написати не відразу, то потім легко заплутатися або забути. Очищення пам'яті потрібна тільки і тільки тоді коли масив більше не потрібен. Між шматками коду виділення пам'яті під двовимірний масив і очищення від нього пам'яті був написаний виклик двох функцій. Перша функція приймає двовимірний масив як аргумент.
Завдяки тому, що приймається параметр є покажчиком, то будь-які зміни масиву всередині функції, впливають на цей масив поза функції безпосередньо (Передали на обробку -> Отримали оновлений). Потрібно заповнити масив значеннями.
Щоб заповнити масив значеннями, потрібно знати його розмірність.
Щоб функція занесення даних в двовимірний динамічний масив знала розмірність, туди були передані ці дані. Залишилося тільки використовувати введення даних за допомогою циклів. Не думаю, що по цих циклів повинні виникнути питання. Функція маленька і легким для читання. Головне розуміти, що
Передаючи двовимірний масив, в функції можна прийняти покажчик на покажчик масиву і вказати число рядків і колонок всередині масиву.

Наступна функція приймає динамічний масив як звичайний двовимірний. Щоб масив почав в такому вигляді, в якому був тільки що створений, обов'язково приймаючу його функцію викликати до очищення пам'яті від потрібного масиву. За прийнятою параметрам ця функція схожа на ту, яка створювала двовимірний масив. Використовується покажчик на покажчик, і вказуються дані розмірності. Щоб масив був не в одну строчку, була проведена перевірка ділення числа без остачі. Якщо хтось використовує інші способи приведення масиву до хорошого увазі, то легко можна використовувати зручні йому. Щоб елементи масиву не злилися воєдино, був використаний елемент табуляції.

Головне чітко усвідомлювати

  • якщо виділили пам'ять, то обов'язково потрібно її видаляти
  • Видаляти пам'ять потрібно тільки і тільки тоді, коли динамічно створений масив більше реально не потрібен
  • Для передачі двовимірного динамічного масиву в функцію зручно використовувати покажчик на покажчик і при передачі його в функцію, в функцію варто передавати розмірність масиву

=========================================
Ось теж по темі, але тільки для одновимірного динамічного масиву. За допомогою окремих функцій виділити пам'ять масиву, записати в динамічний масив значення, вивести динамічний масив на екран і видалити виділену пам'ять динамічного масиву (код з Visual Studio)

Схожі статті