|
14 / 1 / 0
Регистрация: 16.07.2016
Сообщений: 19
|
|
Зачем нужны указатели16.07.2016, 19:57. Показов 16589. Ответов 20
Метки нет (Все метки)
Не могу понять синтаксис указателей. Понял, что это работа с адресами, что оператор & это адрес. А вот * как я понял, это объявление указателя. Но. Что в него записывать? Адрес? Значение переменной? Хоть убей-не понимаю. Объясните пожалуйста.
Зачем их использовать? Можно же напрямую обратиться к чему-либо.
1
|
|
| 16.07.2016, 19:57 | |
|
Ответы с готовыми решениями:
20
Зачем нужны все эти указатели (или не указатели)
Зачем нужны указатели? |
|
Модератор
13770 / 10963 / 6491
Регистрация: 18.12.2011
Сообщений: 29,240
|
|||||||||||
| 16.07.2016, 20:03 | |||||||||||
0
|
|||||||||||
| 17.07.2016, 09:46 | ||
|
2. Указатель занимает 2-8 байтов, а объект может занимать несколько килобайт (и содержать указатели на другие объекты). 3. Объект может быть один, а указателей на него - много.
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 18.07.2016, 10:59 | ||
|
что вы можете обращаться к объекту, не зная его имени. в указателе хранится адрес объекта, и зная этот адрес можно получить доступ к самому объекту. для чего это может быть нужно? например, что бы была возможность работать не с каким то конкретным объектом, а с любым, адрес которого нам дали. в указатель мы можем подсовывать адреса самых разных объектов. и одна и таже функция сможет обработать эти объекты,
0
|
||
|
11 / 11 / 9
Регистрация: 01.07.2015
Сообщений: 85
|
|
| 18.07.2016, 11:00 | |
|
http://cppstudio.com/post/423/ читайте, потом нам расскажете
0
|
|
|
5 / 5 / 2
Регистрация: 04.10.2013
Сообщений: 142
|
||||||||||||||||
| 18.07.2016, 18:39 | ||||||||||||||||
Сообщение было отмечено Михаилыч как решение
Решение
Рассмотрим упрощенную схему организации оперативной памяти машины. Память типичной машины представляет собой массив последовательно пронумерованных и проадресованных ячеек, с которыми можно работать по отдельности или связанными кусками. Применительно к любой 16-разрядной и 32-разрядной машине верны следующие утверждения:
- один байт может хранить значение типа char; - двухбайтовая ячейка может рассматриваться как целое типа short; - четырехбайтовая - как целое типа long. Указатель - это группа ячеек, в которых может храниться адрес. Например, пусть переменная ch имеет тип char, ptrch - указатель, ссылающийся на переменную ch. В Си имеется унарная операция & - операция получения адреса. Запись вида
Правила: 1. Операция получения адреса & применяется только к объектам, расположенным в памяти, а именно к переменным и элементам массивов. 2. Ее операндом не может быть ни выражение, ни константа, ни регистровая переменная. Унарная операция * есть операция раскрытия ссылки. (Другие названия: операция разадресации, операция косвенной адресации). Эта операция применяется к указателю и выдает объект, на который данный указатель ссылается. Приведем следующие записи:
Приведем примеры правильного описания указателей:
Замечание: При выводе на экран или печать значения указателя с помощью функции printf() необходимо пользоваться спецификацией преобразования %u, поскольку значением указателя является адрес - целое число без знака.
1
|
||||||||||||||||
|
Неэпический
|
|||||||
| 18.07.2016, 19:49 | |||||||
|
Тип указателя влияет на то, как будет интерпретирована память. Например,
Всё использование p будет построено так, как будто в памяти лежит char, но это же не так
1
|
|||||||
| 18.07.2016, 19:50 | |
|
0
|
|
| 18.07.2016, 19:51 | |
|
0
|
|
| 18.07.2016, 20:00 | |
|
0
|
|
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||
| 14.09.2019, 23:59 | ||
|
А есть еще полезное применение у указателей ? Потому что кроме, как передачи параметров в функцию через ссылку или через указатель с последующим разыиминованием, вообще не понятно для чего же они нужны ?
0
|
||
|
Модератор
13770 / 10963 / 6491
Регистрация: 18.12.2011
Сообщений: 29,240
|
||||||||||||
| 15.09.2019, 09:01 | ||||||||||||
"Ленин и партия".
0
|
||||||||||||
| 15.09.2019, 12:40 | |
|
Не по теме: Croessmah, все ещё жду статью по указателях от тебя))0
0
|
|
|
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
||
| 15.09.2019, 12:48 | ||
|
А теперь представь, что он тебе дал копию учебника, сколько не рисуй, книга твоего соседа останеться прежней - вот это уже работа с копией. Может сложный пример, но куда проще будет с великом. Имея один велик на двоих, можно пользоваться по очереди. Имея два велика, можно один ломать - второй останеться цел.
0
|
||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||
| 15.09.2019, 13:48 | ||
|
0
|
||
|
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
||
| 15.09.2019, 14:10 | ||
|
Представь ситуацию, у тебя одновременни 1000 процессов берут данные из памяти. Без указателей, они брали бы копии и все время создавали бы новые объекты, а с указателями они буду ссылаться на один объект.
0
|
||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
||
| 15.09.2019, 14:15 | ||
|
0
|
||
| 15.09.2019, 14:15 | |
|
Помогаю со студенческими работами здесь
20
Зачем нужны многоуровневые указатели Зачем здесь нужны указатели Не могу понять зачем нужны указатели? Тема указатели, зачем они нужны Объясните, пожалуйста, зачем в C++ нужны указатели Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|