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

Зачем нужны указатели в c++? начал изучать язык C++ и не очень понимаю зачем нужны указатели?

Указатель, это числовой эквивалент идентификатора, с которым можно производить арифметические действия

Указатели облегчают код. Если надо углубляться, люди уже давно постарались превратить в слова своё понимание. Надо только пробежаться по поиску cppstudio.com/post/423/
или https://ru.stackoverflow.com/questions/3424/Указатели-и-ссылки
Ничего нового мы тут не скажем
Ильдар Хабибуллин
Ильдар Хабибуллин
94 000
Лучший ответ
Всё познается в применении. Коротко - необходимы для динамических структур данных, хотя могут быть использованы и в статических.
Поймешь на практике
Понимание зачем нужны указатели == понимание того, как в С/С++ работает память и что с ней делать.
Ведь всё храниться в памяти... +с ней можно интересные фокусы делать...
По началу без указателей спокойно обойтись можно... Насущьные проблемы решаются глобальными примеренными, массивами (Хотя это тот же указатель...) и т. д.
Но потом...
Самая такая область, где без понимания указателей ну вообще никак - Параллельное программирование
Потом ещё реализация структур данных... тоже нереально что-то без указателей сделать...
Эт тока самые такие, прикладные применения...
Роман Шитиков
Роман Шитиков
15 046
При передачи аргументов в функцию, данные копируются.
void f(double a); - вот здесь в памяти компьютера будет выделено 8 байт, и туда запишется значение переданной переменной. При изменении 'a' внутри функции, она изменится только внутри функции.
void f(double *a); - а здесь передастся указатель на a, а значит копирования данных не будет и при изменении 'a', переменная изменится и вне функции
+ указатели используется для работы с динамическими массивами
Лучше почитать в учебнике и научится на практике
Александр Чекалкин хотя я ошибся, во втором случаи копирование данных будет, только будет копироваться не значение 'a' (скажем a = 5), а адрес переменной

int a = 5;
int b = a;
int *c = &a;
a = 2;
теперь b = 5, c = 2
Леонид Палажченко Так делают в С. В C++ тоже можно, но в нем для этого есть более удобный аппарат ссылок - автоматически разыменовываемых указателей.