Это переменные которые хранят адреса данных в памяти а не сами данные, используются для адресации структур данных произвольного размера а также для передачи и получения параметров функций которые неоптимально передавать через стек в виде данных, проще и быстрее передать указатель (адрес), также с помощью указателей можно "гулять" по произвольным участкам адресного пространства процесса, для указателей используется адресная арифметика - когда прибавление 1 увеличивает значение указателя на значение размера (типа).
++ означает увеличение на 1 а -- уменьшение на 1
Другие языки программирования и технологии
Для чего нужны указатели в c ?
1. Для передачи параметров в функцию. Если передавать без указателей, функция работает с копией переменной или структуры, а сама переменная или структура не изменяется. А если надо, чтоб изменялась, используют указатель.
2. Для создания массивов, длина которых заранее неизвестна. Создают указатель на первый элемент и по нему программа находит массив, а память выделают позже, когда станет ясно, сколько ее надо.
3. Для связи друг с другом динамических структур данных. Например, в связанных списках по указателю можно перейти на следующий элемент.
2. Для создания массивов, длина которых заранее неизвестна. Создают указатель на первый элемент и по нему программа находит массив, а память выделают позже, когда станет ясно, сколько ее надо.
3. Для связи друг с другом динамических структур данных. Например, в связанных списках по указателю можно перейти на следующий элемент.
Ну я бы многим посоветовал начать с ассемблера, для общего понимания функционирования процессора и программ. Но не углубляться, так как большой проект на ассемблере наверное нереально сделать, а просто понять что и как и переходить на другие языки программирования. После понимания ассемблера такие вопросы должны отпасть сами собой. Еще почитайте про оптимизацию программы.
Для того чтобы экономить ресурсы и повышать быстродействие.
Интересный вопрос. А для чего нужны целочисленные переменные? А символьные?
Видимо для удобства. В некоторых языках, более высокого уровня, возможность пользоваться ими на явном уровне убрали (видимо для безопасности), но С на то и С.
Указатели содержат адрес начала определенного блока памяти, и используя их можно обратиться к конкретному блоку.
При помощи указателей реализованы, например, массивы. объявляя массив вы, по большому счету, просто заявляете указатель на нулевой элемент и размер смещения.
Так же, при помощи указателей вы можете ускорить работу программы, передавая в функцию не данные, а указатель на них. Кстати, в Си, если я ничего не путаю, это чуть ли не единственный способ передать в функцию массив данных.
Видимо для удобства. В некоторых языках, более высокого уровня, возможность пользоваться ими на явном уровне убрали (видимо для безопасности), но С на то и С.
Указатели содержат адрес начала определенного блока памяти, и используя их можно обратиться к конкретному блоку.
При помощи указателей реализованы, например, массивы. объявляя массив вы, по большому счету, просто заявляете указатель на нулевой элемент и размер смещения.
Так же, при помощи указателей вы можете ускорить работу программы, передавая в функцию не данные, а указатель на них. Кстати, в Си, если я ничего не путаю, это чуть ли не единственный способ передать в функцию массив данных.
Еще строки по указателям передаются
Похожие вопросы
- Зачем нужны указатели в c++? начал изучать язык C++ и не очень понимаю зачем нужны указатели?
- Зачем нужны указатели в c++? Нельзя ли обычными переменными пользоваться?
- Как разыменовать указатель в C++
- да зачем нужны эти указатели ?? C++. Зачем нужны указатели? почему не обойтись без простой переменной??
- Зачем вообще указатели в C++?
- Массив указателей в C++
- Не понимаю указатели в C++
- Для чего нужен указатель this и каков его принцип работы? Объясните пожалуйста самым простым языком, как 2+2.
- Как работают указатели в c++
- Для чего нужен return в C++ ?например return 0;