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