- •«Северный (Арктический) федеральный университет имени м.В. Ломоносова»
- •Оглавлени
- •1 Операции «*» и «&» при работе с указателями.
- •Int a(0);// объявляем переменную, инициализируем её значением «0»;
- •Int *p//по адресу, записанному в переменной p, будет хранится переменная типа int или, другими словами, p указывает на тип данных int.
- •4.2 Операция delete
- •5 Задачи
Оглавлени
КУРСОВАЯ РАБОТА 1
ВВЕДЕНИЕ 3
1 ОПЕРАЦИИ «*» И «&» ПРИ РАБОТЕ С УКАЗАТЕЛЯМИ. 4
2 ДОСТУП К ПЕРЕМЕННОЙ ПО УКАЗАТЕЛЮ. УКАЗАТЕЛЬ НА VOID 7
3 УКАЗАТЕЛИ И МАССИВЫ 11
4 УПРАВЛЕНИЕ ПАМЯТЬЮ: NEW И DELETE 14
4.1 ОПЕРАЦИЯ NEW 14
4.2 ОПЕРАЦИЯ DELETE 16
5 ЗАДАЧИ 17
Задачки допишу 17
ВВЕДЕНИЕ 3
1 ОПЕРАЦИИ «*» И «&» ПРИ РАБОТЕ С УКАЗАТЕЛЯМИ. 4
2 ДОСТУП К ПЕРЕМЕННОЙ ПО УКАЗАТЕЛЮ. УКАЗАТЕЛЬ НА VOID 7
3 УКАЗАТЕЛИ И МАССИВЫ 10
4 УПРАВЛЕНИЕ ПАМЯТЬЮ: NEW И DELETE 13
4.1 ОПЕРАЦИЯ NEW 13
4.2 ОПЕРАЦИЯ DELETE 14
5 ЗАДАЧИ 16
ВВЕДЕНИЕ
Важной вехой в развитии программирования явилось создание и широкое распространение языка С++. Этот язык ввел в практику программирования возможности нового технологического подхода к разработке программного обеспечения, получившего название “объектно-ориентированное программирование”. В работе речь пойдет об одной из самых важных тем в программирование - указатели.
Для чего нужны указатели? Вот наиболее частые примеры их использования:
доступ к элементам массива;
передача аргументов в функцию, от которой требуется изменить эти аргументы;
передача в функции массивов и строковых переменных;
выделение памяти;
создание сложных структур, таких, как связный список.
Указатели — это важная возможность языка C++, поскольку многие другие языки программирования, такие, как Visual Basic или Java, вовсе не имеют указателей. Действительно ли указатели являются столь необходимыми? Некоторые операции, использующие указатели, могут быть выполнены и другими путями. Например, доступ к элементу массива мы можем получить и не используя указатели, функция может изменить аргумент, переданный не только по указателю, но и по ссылке.
Однако в некоторых ситуациях указатели являются необходимым инструментом увеличения эффективности программ на языке C++. Замечательным примером является создание таких структур данных, как связные списки или бинарные деревья. Кроме того, некоторые ключевые возможности языка C++, такие, как виртуальные функции, операция new, указатель this, требуют использования указателей. Поэтому, хотя мы и можем многое сделать без них, указатели будут нам необходимы для более эффективного использования языка программирования.
Цель работы - познакомиться с указателями, начав с основ применения указателей.
1 Операции «*» и «&» при работе с указателями.
Идея указателей несложна. Начать нужно с того, что каждый байт памяти компьютера имеет адрес. Адреса — это те же числа, которые мы используем для домов на улице. Числа начинаются с 0, а затем возрастают — 1, 2, 3 и т. д. Если
у нас есть 1 Мбайт памяти, то наибольшим адресом будет число 1 048 575 (хотя обычно памяти много больше). Загружаясь в память, наша программа занимает некоторое количество этих адресов. Это означает, что каждая переменная и каждая функция нашей программы начинается с какого-либо конкретного адреса.
Указатель – переменная, значением которой является адрес ячейки памяти. То есть указатель ссылается на блок данных из области памяти, причём на самое его начало. Указатель может ссылаться на переменную или функцию. Для этого нужно знать адрес переменной или функции. Так вот, чтобы узнать адрес конкретной переменной в С++ существует унарная операция взятия адреса «&». Такая операция извлекает адрес объявленных переменных, для того, чтобы его присвоить указателю. Например:
