If it's stupid but works, it isn't stupid.
Указатели - переменные, предназначенные для хранения адресов областей памяти.
3 вида указателей
- указатели на объект
- указатели на функцию
- указатели на void
Указатель не является самостоятельным типом, он всегда связан с каким-либо другим конкретным типом.
Указатель на функцию - содержит адрес, по которому передается управление при вызове функции.
тип(*имя) (список_типов_аргументов)
int (*fun) (double, int)
- указатель с именем fun на функцию, возвращающую значение типа int и имеющую два аргумента типа double.
Указатель на объект - содержит адрес области памяти, в которой хранятся данные определенного типа (основного или составного)
тип *имя
int *a
Указатель на void - применяется в тех случаях, когда конкретный тип объекта, адрес которого нужно хранить, не определен (например, если в одной и той же переменной в разные моменты времени требуется хранить адреса объектов различных типов).
Указателю на void можно присвоить значение указателя любого типа, а также сравнивать его с любыми указателями, но перед выполнением каких-либо действий с областью памяти, на которую он ссылается, требуется преобразовать его к конкретному типу явным образом.
Указатель может быть константой или переменной, а так же указывать на константу или переменную .
Инициализация указателей
Указатели чаще всего используются для работы с динамической памятью - свободная память, в которой можно во время выполнения программы выделять место в соответствии с потребностями.
2 способа работы с динамической памятью
1. Исп-я семейство функций malloc (C) (#include )
2. операции new и delete
Выделение памяти
Освобождение памяти
При определении указателя нужно стараться выполнить его инициализацию
Способы инициализации указателей
- с помощью операции получения адреса
- с помощью значения другого инициализированного указателя
3 вида указателей
- указатели на объект
- указатели на функцию
- указатели на void
Указатель не является самостоятельным типом, он всегда связан с каким-либо другим конкретным типом.
Указатель на функцию - содержит адрес, по которому передается управление при вызове функции.
тип(*имя) (список_типов_аргументов)
int (*fun) (double, int)
- указатель с именем fun на функцию, возвращающую значение типа int и имеющую два аргумента типа double.
Указатель на объект - содержит адрес области памяти, в которой хранятся данные определенного типа (основного или составного)
тип *имя
int *a
Указатель на void - применяется в тех случаях, когда конкретный тип объекта, адрес которого нужно хранить, не определен (например, если в одной и той же переменной в разные моменты времени требуется хранить адреса объектов различных типов).
Указателю на void можно присвоить значение указателя любого типа, а также сравнивать его с любыми указателями, но перед выполнением каких-либо действий с областью памяти, на которую он ссылается, требуется преобразовать его к конкретному типу явным образом.
Указатель может быть константой или переменной, а так же указывать на константу или переменную .
Инициализация указателей
Указатели чаще всего используются для работы с динамической памятью - свободная память, в которой можно во время выполнения программы выделять место в соответствии с потребностями.
2 способа работы с динамической памятью
1. Исп-я семейство функций malloc (C) (#include )
2. операции new и delete
Выделение памяти
Освобождение памяти
При определении указателя нужно стараться выполнить его инициализацию
Способы инициализации указателей
- с помощью операции получения адреса
- с помощью значения другого инициализированного указателя