Другие языки программирования и технологии
Объясните пожалуйста на бытовом языке, что такое указатель в СИ, приведите бытовой пример, описывающий эту операцию?
А то в литературе так запутанно об этом написано.
Указатели - это специальные переменные, которые содержат адреса ячеек памяти, некоторых объектов, например, переменных.
Над указателями возможны только две операции.
Первая операция - операция взятия адреса (&), это унарная операция, её операндом является переменная и результатом этой операции будет указатель, хранящий адрес этой переменной в памяти.
Вторая операция - операция разыменования указателя (*), также унарная, но действует на указатель, а возвращает значение хранящееся в памяти по этому указателю.
Примеры:
int a, b = 5;
int * ptr;
ptr = &b; // взят адрес b и занесён по указателю ptr
a = *ptr; // взято значение по указателю ptr, равное 5, и присвоено переменной a
Над указателями возможны только две операции.
Первая операция - операция взятия адреса (&), это унарная операция, её операндом является переменная и результатом этой операции будет указатель, хранящий адрес этой переменной в памяти.
Вторая операция - операция разыменования указателя (*), также унарная, но действует на указатель, а возвращает значение хранящееся в памяти по этому указателю.
Примеры:
int a, b = 5;
int * ptr;
ptr = &b; // взят адрес b и занесён по указателю ptr
a = *ptr; // взято значение по указателю ptr, равное 5, и присвоено переменной a

указатель это адрес памяти по которому размещены данные
Указатель можно понять, если есть понимание, как устроена память компьютера и ее адресация. П ред положим что по адресу 1000 находится число 5.
Предположим также, что это произошло в результате простого присвоения
Int a =5;
Адрес а можно в свою очередь хранить в другой ячейке, это делается так:
int *ptr =&a; вот тогда ptr и есть указатель на а. Значение ptr равно 1000.
Теперь можно работать с ptr.
Например узнать что же находится по адресу на который он указывает:
cout <. <. *ptr <. < endl; // сообщит 5
а =12;
cout < < *ptr < < endl;//сообщит 12
Предположим также, что это произошло в результате простого присвоения
Int a =5;
Адрес а можно в свою очередь хранить в другой ячейке, это делается так:
int *ptr =&a; вот тогда ptr и есть указатель на а. Значение ptr равно 1000.
Теперь можно работать с ptr.
Например узнать что же находится по адресу на который он указывает:
cout <. <. *ptr <. < endl; // сообщит 5
а =12;
cout < < *ptr < < endl;//сообщит 12
Похожие вопросы
- Для чего нужен указатель this и каков его принцип работы? Объясните пожалуйста самым простым языком, как 2+2.
- Список с использованием указателей на Си
- Указатель в Си
- Язык Си, объясните пожалуйста почему ошибку пишет?
- Чем отличается в языке С++ объявление указателя на переменную int *a от int* a?
- C++ указатель на ссылку, ссылка на указатель что можно создать и пример кода если нетрудно.
- Помогите, пожалуйста. Как на языке СИ транспонировать матрицу?
- Объясните, пожалуйста, человеческим (не википедийным языком) , что за язык XML?
- По чему лучше начать изучать программирование? И какой язык лучше выбрать, Паскаль или Си?
- Структура данных "очередь". максимально доступно. и очень подробно объяснить функции с очередью!!!на с++ с указателями