C++ указатели. Для чего они?

Компьютеры программы C++ Программирование указатели

Где не читаю про указатели, понять не могу для чего они нужны. Объясните как чайнику плиз... смысл просто зачем указывать на адрес памяти...

Примечание:
спасибо, болеменее понял для чего) просто иногда указатель получается спокойно заменить=)
Ответы:
Чтобы прочитать содержимое этой памяти.
Если вы не понимаете общих принципов фоннеймоновской архитектуры процессора это невозможно объяснить на пальцах.
Используются для организации массивов и списков. Изучайте ЯП дальше, однажды вы поймёте, для чего это всё нужно.
Для передачи параметров в функцию, например. Просто можно передать данные функции, но если они изменятся в функции, то с "исходной" переменной ничего не произойдет. А если передать в функцию указатель, то функция через адрес переменной изменяет исходные данные. Вот пример:
int func1(int a) { a = 3; return 0; } // Изменятся ПАРАМЕТР функции
...
int func2(int *a) { &a = 5; return 0; } // Изменяются ИСХОДНЫЕ данные
...
int main() {
int b = 10;
func1(b); // b без изменений, изменяется параметр a = 3
func2(b); // b становится равно 5, а - указатель на b
return 0;
}
Указывать на адрес памяти нужно для того, чтобы самостоятельно решать откуда из памяти доставать или куда класть данные.
Грубо говоря, можно разделить причины использования указателей на:
1. Необходимость, диктуемую стандартами C++ (массивы, возвращение значения из функции через параметр, и т.д.(
2. Необходимость, диктуемую решаемой задачей, проблемой. (например, динамические структуры данных, и т.д.)


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.