|
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
|
||||||
Разный доступ к элементам структуры через указатель13.07.2012, 21:00. Показов 15023. Ответов 12
Метки нет (Все метки)
Всем добрый вечер!
Есть структура и два указателя на структуру. Первый указатель выделяет память для единичного значения а второй для массива. И вот в чем вопрос. Почему для обращения к элементам структуры в первом случае используется операция ->(стрелка) а во втором .(точка)?
0
|
||||||
| 13.07.2012, 21:00 | |
|
Ответы с готовыми решениями:
12
Доступ к элементам структуры через указатель на структуру Доступ к элементам структуры через указатель на структуру Доступ к элементам структуры через указатель на структуру |
|
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
|
|
| 13.07.2012, 21:16 [ТС] | |
|
Извините, пожалуйста. Я нашел ответ.
Доступ к элементам структуры через указатель на структуру
0
|
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 14.07.2012, 19:39 | |
|
1
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||||||
| 14.07.2012, 23:39 | ||||||
|
candy, candyArr - никакой разницы...
1
|
||||||
|
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
|
|
| 15.07.2012, 00:04 [ТС] | |
|
0
|
|
|
2 / 2 / 2
Регистрация: 11.03.2012
Сообщений: 48
|
||||||
| 15.07.2012, 17:55 | ||||||
|
Автор топика, а ты часом не по книжке Стивена Прата занимаешься? Я и ты прям нога в ногу идем. У меня самого возникли трудности с этой задачей, и потому полез на этот форум. Хотел уже создать тему, но первый же топик содержал ответ на мой вопрос
![]() Впрочем, вот как я сделал эту задачу:
1
|
||||||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
| 15.07.2012, 18:03 | ||||||
|
потому что результат оператора ptr[i] к указателю это ссылка на объект, который смещен на i объектов относительно указателя ptr (ну или ссылка на i-ый элемент массива, если так проще для понимания). вот эквивалентный код:
1
|
||||||
|
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
|
|
| 15.07.2012, 18:18 [ТС] | |
|
iPhonia, Ну все правильно! Стивен Прата "Язык программирования С++. Лекции и упражнения".
Я сейчас эту книгу читаю А задача №6 в конце 4 главы.Добавлено через 8 минут DU, Я вот что единственное немогу еще понять. Почему в одних случаях для доступа к элементу используется точка а вдругих стрелка. Понятно, что ссылка, что указатель. Но почему просто не сделают что во всех случаях использовать один и тот же способ для доступа?
0
|
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||
| 15.07.2012, 19:08 | |||
|
Добавлено через 19 минут И, если сделать одинаковый доступ, то как в этом должен компилятор разбираться? Если в первом посте, вместо
1
|
|||
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
||||||
| 15.07.2012, 20:01 | ||||||
|
последнее объяснение какое-то мутное и не объясняет, почему для указателей обращение к мебмерам через стрелку, а для объектов - через точку. Такое поведение пришло из си, а почему там так сделано - хз. Теоретически, ничто не мешает сделать все обращения как через стрелку, так и через точку. Ведь компилятор знает тип объекта а значит, в зависимости от типа может применить то, или иное правило обращения к мемберу структуры. Хотя даже эти правила одинаковые. А именно:
прибавляется это смещение и по получившемуся адресу записывается еденица. Так вот для комплятора что стрелка, что точка - один хрен. Во всех случаях компилятор знает, что нужно смещение и это смещение для всех случаев одно и то же. Такое разделичие в синтаксисе ввели скорее всего чтобы в коде было видно, что есть объект, а что есть указатель на объект. А может и просто так, не подумав. Такие случаи тоже бывают. Ну а с++ унаследовал такой синтаксис.
1
|
||||||
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
| 15.07.2012, 21:09 | |
|
0
|
|
|
|
|
| 15.07.2012, 21:14 | |
|
0
|
|
| 15.07.2012, 21:14 | |
|
Помогаю со студенческими работами здесь
13
Доступ к элементам и методов структуры осуществить через указатель Как сделать указатель на структуру и получить так доступ к элементам?
Обращение к элементам класса через указатель
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
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. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|