Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вказівники навколо нас | Вказівники
Основи C
course content

Зміст курсу

Основи C

Основи C

1. Вступ
2. Дані
3. Оператори
4. Оператори управління
5. Функції
6. Вказівники

book
Вказівники навколо нас

Ви, напевно, вже знайомі з ідеєю вказівників з вашого повсякденного досвіду. Подумайте про те, як ваш будинок має унікальну адресу. Саме через цю адресу ви отримуєте посилки з Amazon, листи та піцу, яку ви щойно замовили. По суті, щоб дістатися до вас, люди та служби використовують вашу домашню адресу.

Коли будинок змінює власника, важливо оновити записи, щоб відобразити дані нового власника. І якщо ваша сім'я зростає, важливо додати нових членів до записів, пов'язаних з адресою.

Записи про власність на нерухомість постійно оновлюються. Деякі дані змінюються, деякі видаляються, а нові деталі додаються.

Розгляньмо інший приклад - розробку системи безпеки для вашого офісу. Розробник може не знати точну кількість співробітників, які у вас будуть. Тому в коді він може виділити місце для 100 співробітників:

Ця установка досить базова і з самого початку має обмеження.

Але що, якщо ваша компанія розшириться, запустить новий відділ і найме 30 нових кваліфікованих співробітників, збільшивши загальну кількість до 130? Однак система безпеки налаштована лише на розпізнавання 100. Чи ви переробляєте всю систему безпеки або відпускаєте нових працівників? Ця дилема вирішується за допомогою динамічного виділення пам'яті.

Динамічне виділення пам'яті

У мові C існує три типи виділення пам'яті:

  1. Статичне виділення, яке відбувається під час компіляції. Наприклад, коли компілятор бачить, що ви оголосили змінну int, він виділяє для неї 4 байти;
  2. Автоматичне виділення пам'яті відбувається всередині функцій, особливо коли змінні оголошуються всередині цих функцій;
  3. Динамічне виділення пам'яті виділяється тим, що пам'ять призначається не на етапі компіляції, а під час фактичного виконання вашої програми.

Динамічне виділення пам'яті дає програмісту повний контроль, оскільки він контролює як виділення, так і звільнення пам'яті. Цей підхід дозволяє програмісту значно оптимізувати продуктивність програми, причому вказівники відіграють ключову роль у цьому процесі.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 6. Розділ 1
We're sorry to hear that something went wrong. What happened?
some-alt