Другие языки программирования и технологии

да зачем нужны эти указатели ?? C++. Зачем нужны указатели? почему не обойтись без простой переменной??

М А С Т Е Р
М А С Т Е Р
81
Указатель содержит адрес первого байта объекта в памяти, тип указателя, говорит о том сколько памяти выделено под данный объект. Эти его особенности позволяют работать напрямую с объектом, обращаясь к нему по указателю из любой точки программы, куда этот указатель передан. Если указатель разыменовать, что можно получить доступ к значениям объекта. А адресная арифметика позволяет эффективно работать с массивами, элементы которых в памяти расположены последовательно. Указатели позволяют структурные переменные связывать между собой в динамические структуры данных (списки, деревья) и выполнять над ними различные действия.
Сергей Гайдашев
Сергей Гайдашев
86 116
Лучший ответ
да, на здоровье, пользуйтесь простыми переменными.. . на сколько вам этого хватит.
По двум причинам.
Во-первых, для совместимости с С, операции которого были приближены к ассемблерным, а вся работа компьютера на машинном уровне построена на использовании адресов переменных, то есть на указателях. Просто в С/C++ они не "упрятаны под ковер", а используются явно, что облегчает программисту понимание того, как будет выполняться программа компьютером.
Во-вторых, потому что они нужны в сложных структурах данных, когда ты связываешь переменные в цепочки. Конечно, для вычисления таблицы умножения они не нужны. Но программист большей частью работает не с "простыми переменными", а со сложными структурами данных, которые все построены на использовании указателей.
Вообще указатели - такая простая вещь, что о них не стоит и говорить. Их использование расширяет возможности программиста и упрощает программирование, вот и все.
FA
Farid Abbasov
56 928
Потому что место на стеке у тебя не бесконечное и у переменной ограниченая зона видимости. И только попробуй заикнись о глобальных - любой внятный программист тебя говном закидает.
А еще я б посмотрел как ты массивы по сто-двести элементов в виде отдельных переменных сделаешь. Или какой-нибудь связный список.
Проще при чтение кода.
например, для динамического выделения памяти под массив