|
0 / 0 / 0
Регистрация: 15.11.2011
Сообщений: 25
|
||||||
Как использовать указатели при работе с массивами?28.11.2011, 16:03. Показов 11281. Ответов 111
Метки нет (Все метки)
подскажите пожалуйста как правильно использовать указатели при работе с массивами. Как написать этк программу используя указатели?
0
|
||||||
| 28.11.2011, 16:03 | |
|
Ответы с готовыми решениями:
111
Указатели при работе с одномерными и двумерными массивами
Ошибка при работе с массивами char |
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||
| 01.12.2011, 11:54 | ||
|
Добавлено через 44 секунды Вот что бывает, когда учат Си, для последующего изучения С++. Пытаются подогнать новые знания под старые понятия...
0
|
||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||
| 01.12.2011, 15:09 | |||||||||
|
Добавлено через 2 минуты Добавлено через 2 минуты
0
|
|||||||||
|
1 / 1 / 1
Регистрация: 17.10.2010
Сообщений: 29
|
||||||||||
| 01.12.2011, 15:34 | ||||||||||
Насколько я понимаю, в строке s = A[1]; компилятор как раз будет обращаться к указателю на переменную s, то есть разыменовывание будет происходить неявно. То есть в шапке фактически написано *s = &ToChtoPeredanoVFunkciоu. Или я не прав? В конечном счете значение массива заносится по адресу переменной переданной в функцию, а не в переменную. Со ссылкой насколько я помню такой прием не пройдет. Добавлено через 2 минуты
0
|
||||||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||
| 01.12.2011, 16:58 | |||||
|
Добавлено через 1 минуту Добавлено через 3 минуты Добавлено через 12 минут
0
|
|||||
|
1 / 1 / 1
Регистрация: 17.10.2010
Сообщений: 29
|
|
| 01.12.2011, 17:05 | |
|
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|||
| 01.12.2011, 20:56 | |||
|
Добавлено через 6 минут
0
|
|||
|
Заблокирован
|
||||||||
| 01.12.2011, 21:36 | ||||||||
|
Ну бывает да.. вроде бы поговорили, разобрались. Человек вроде бы даже сам осознал, что "явность/неявность" к терминологии отношения не имеет. Проходят сутки, и он начинает тупить опять на ту же самую тему. Добавлено через 7 минут
0
|
||||||||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|
| 01.12.2011, 22:07 | |
|
Bers, ты главное не кипятись. Твой пример говорит компилятору не "создай мне объект в куче", а "дай память для *ptr, дай sizeof(Some) памяти из кучи, положи адрес начала участка в ячейку с адресом ptr ". На ооп свет клином не сходится.
0
|
|
|
Заблокирован
|
||
| 01.12.2011, 22:13 | ||
|
Ты пойми одну вещь: когда ты говоришь "объект", ты уже используешь ООП. Ты как минимум, используешь терминологию ООП. А что такое объект с точки зрения ООП? А... то-то же. А ты для высокоуровневой абстракции ООП применяешь низкоуровневые определения. Что у тебя вы итоге получается? Чача в голове.
0
|
||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 01.12.2011, 23:25 | ||
|
Bers, ну это все мы с тобой "вилами по воде пишем". Я говорю что объект, переменная не могут быть в памяти. Говоря объект или переменная мы маскИруем этими терминами память, адреса.
0
|
||
| 01.12.2011, 23:30 | |||||||
0
|
|||||||
|
Заблокирован
|
|
| 01.12.2011, 23:37 | |
|
alkagolik, ты понимаешь, ты втискиваешь высокоуровневые абстракции в рамки низко-уровневых механизмов.
Поместить объект в память, значить ассоциировать область памяти с некой абстракцией. Причем, на высоком уровне (ООП), программисту вообще не нужно думать, как работает механизм вот этой самой "ассоциации области памяти с объектом". Для этого ООП и был создан, что бы программиста верхнего уровня избавить от необходимости знать, как это все работает на низком уровне. А на низком уровне вообще не существует никаких абстракций. И после компиляции уже никто не знает о том, какой тип был у объекта. То есть, об этой высокоуровневой абстракции знают только программист, и только компилятор. Поэтому, такую абстракцию и называют "абстракцией". То есть, программист верхнего уровня абстрагируется от низко-уровневых механизмов. Ты же применяешь к высокоуровневым понятиям низкоуровневые определения. Вот я тебе задал вопрос: что такое объект? Это не область в памяти. Область памяти, ассоциированная с объектом - это лишь форма существования объекта на низком уровне. Причем, на таком низком уровне, где никаких объектов уже не существует. А у тебя в голове чача из ассемблера и ООП. Сам по себе объект в ООП в сферическом вакууме - это просто абстракция, которая обладает свойствами (данные-члены), и умениями (методы). Все.
1
|
|
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|
| 02.12.2011, 06:56 | |
|
1
|
|
|
Заблокирован
|
||||||
| 02.12.2011, 14:48 | ||||||
|
Deviaphan, вот поэтому, я и не рекомендую новичкам ничего учить по Страуструпу.
Он гениальный программист, но педагог из него никудышный.
То есть, у вас должно быть что-то вроде: "я создал не сам объект, а только имя объекта. Объект за меня создал компилятор как то там", ну и в таком подобном духе. Заодно, по страуструповски раскройте тему класса памяти, что бы никто гарантированно, не попутал класс памяти, с классом объекта. Объясните так, что бы любой новичок сумел вас вразуметь.
0
|
||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
|||
| 02.12.2011, 15:19 | |||
|
По старому стандарту, слово auto уже 100500 лет ничего не значит. Классы памяти: стековая и динамическая (из пула). Регистровую память специально игнорирую, т.к. управлять регистрами низя.
0
|
|||
|
Заблокирован
|
|||||||||
| 02.12.2011, 15:39 | |||||||||
|
Я вас попросил: что это такое? Вы не объяснили. Даже определения не дали. А я вам скажу: первое, о чем подумает новичок, при словосочетании "класс памяти" - это о классах с++. И даже когда в книгах по winAPI встречается впервые записулька типа: "структура, описывающая класс окна" - многие новички тут же теряются. И не понимают, где тут класс окна, и при чем тут вообще класс? Если сейчас нашу переписку будит читать новичок, он уже не будит понимать о чем речь. В приведенной вами цитате на самом деле заложено столько материала, что этого хватит на написания несколько крупных глав в моральном учебном пособии. С позиции своего опыта и знаний, я могу ещё как то прожевать, как это: "Отдельная область памяти ассоциируется с некой абстракцией, называемой объектом". А вот понять, что "некая абстракция и есть область памяти" - для меня это уже перебор. Ответьте хотя вот на этот вопрос:
Здесь был по умолчанию задействован класс памяти auto. И компилятор сам разберётся как именно создать объект, где он будит жить, и какое время его жизни. Мне, как программисту высокого уровня, об это думать вообще не нужно. Страуструп же считает, что на самом деле здесь было создано только имя объекта, которое имеет тип. А вот за само создание объекта отвечает класс памяти этого объекта. Хорошо... пусть так. Пусть это будит более точным описанием действа. Имя объекта создано, тип его известен, класс памяти отработал. Объект создан. Вопрос: что именно было создано? Область памяти была создана, или как? Я понимаю так: некоторая область памяти была ассоциирована с объектом. И теперь байты этой области являются данными этого объекта. А как понимаете это вы?
0
|
|||||||||
|
Делаю внезапно и красиво
1313 / 1228 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
|
||||||||||||||||||
| 02.12.2011, 15:59 | ||||||||||||||||||
|
Щяс попробую более простой вариант сформулировать, чтобы тебе понятнее было. Добавлено через 7 минут Сперва пример, который вписывается в твоё мировозрение
Второй пример
Добавлено через 59 секунд
1
|
||||||||||||||||||
| 02.12.2011, 15:59 | |
|
Помогаю со студенческими работами здесь
100
Использование показателей при работе с массивами Использование показателей при работе с массивами Проблемма при работе с массивами структур
Ошибка в перегрузке оператора - при работе с массивами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|