Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Каталог файлів на Visual C ++

Реферат Каталог файлів на Visual C ++





stify"> dp - вказівником на double, можна за допомогою виразу


dp = (double *) malloc (sizeof (double)).


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



void free (void * p)

звільняє область пам'яті, на яку вказує p ; якщо p одно NULL, то функція нічого не робить. Значення p має вказувати на область пам'яті, раніше виділену за допомогою функцій malloc або calloc Після звільнення пам'яті результат разименованія покажчика p непередбачуваний; результат також непередбачуваний при спробі повторного звернення до free c цим же покажчиком. Наведемо опис ще однієї функції розподілу пам'яті в Сі. Нею зручно користуватися, коли потрібно розмістити масив в динамічної пам'яті.


void * calloc (size_t nobj, size_t size)


calloc повертає вказівник на місце в пам'яті, відведений для масиву nobj об'єктів, кожен з яких має розмір size. Виділена область пам'яті побитово обнуляється. (Зауважимо, що це не завжди рівнозначно присвоюванню нульових значень відповідних елементів масиву. У деяких реалізаціях в побітового поданні нульового покажчика або значення 0.0 з плаваючою точкою можуть бути ненульові біти). Якщо пам'ять відвести не вдалося, то результат роботи функції - NULL. У C ++ для виділення ділянки пам'яті в динамічно розподіляє області використовується ключове слово new. Після слова new слід вказати тип об'єкта, який буде розміщений в пам'яті. В якості результату оператор new повертає адресу виділеного фрагмента пам'яті, який повинен бути присвоєний вказівником.

* set=new int [100];


По завершенні роботи з виділеною областю її слід звільнити. Робиться це за допомогою оператора delete, після якого записується ім'я покажчика. Оператор delete звільняє пам'ять, на яку вказує покажчик.

[] set;


Подання списків ланцюжками ланок

Для зберігання окремого елемента списку створюється динамічний об'єкт - структура з двома членами, звана ланкою. В одному з членів (інформаційному) розташовується сам елемент, а інший член містить покажчик на ланка, що містить наступний елемент списку, або порожній покажчик, якщо наступного елемента немає. За допомогою покажчиків ланки як би зчеплені в ланцюжок. Знаючи покажчик на першу ланку можна добратися і до інших ланок, тобто покажчик на першу ланку задає весь список. Порожній список представляється порожнім покажчиком. Наведемо відповідні опису на мові Сі. В якості типу елементу списку обраний тип char. Списки з елементами інших типів описуються аналогічно.


# include lt; stdio.h gt;

# include lt; stdlib.h gt; struct Node * link;/* покажчик на ланка */char elemtype;/* тип елемента списку */struct Node/* ланка складається з двох полів: */

{elem;/* - елемент списку, */next;/* - покажчик на наступну ланку */

} node; link list;/* список задається покажчиком на ланку */lst;/* змінна типу список */


Змінна 1st представляє в програмі список.

Зверніть увагу на те, що в описі типу link використовується незавершений тип struct Node. Опис покажчиків на незавершений тип допустимо в Сі. Тип struct Node стає завершеним при описі типу node. Тип list оголошується синонімом типу link.

У прикладах ми будемо позначати обговорювані списки у вигляді кортежів, як це прийнято в математиці. Так, конструкція (a, b, c) означає список з трьох елементів. Перший елемент у цьому списку - a, другий - b третій - c. Порожній список виглядає так? ?.

Приклад. Список символів? a, b, c? , Представлений ланцюжком ланок, зображується наступним чином (у змінній 1st - покажчик на першу ланку):



При цьому в програмі вираз lst означає покажчик на перше ланка в ланцюжку; * lst означає саме перша лан...


Назад | сторінка 2 з 5 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Анотований покажчик документів державного архіву Гомельської області з істо ...
  • Реферат на тему: Організація списку за допомогою двійкового дерева
  • Реферат на тему: Програма &Список комерційних банків& на мові Сі
  • Реферат на тему: Анотований список гедзів Костанайської області
  • Реферат на тему: Зв'язний список футболістів