|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.12.2014, 19:27 | #1 |
Пользователь
Регистрация: 08.11.2014
Сообщений: 11
|
Преобразование типов указателей
добрый день. проблема с лабами по указателям: 1) почему указатель на int при яном приведении его к типу float обнуляет переменные 2) почему изменяется адрес ячейки переменной float
Последний раз редактировалось Stilet; 28.12.2014 в 20:14. |
28.12.2014, 19:41 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А что это за волшебный код? Что он должен демонстрировать деска?
I'm learning to live...
|
28.12.2014, 19:42 | #3 |
Пользователь
Регистрация: 08.11.2014
Сообщений: 11
|
Задание к работе
1. Объявить статические переменные: базовых типов, указателей на базовые типы, ссылочных типов. В качестве базовых типов использовать char, int, float. Все переменные проинициализировать в соответствии с их типом. Нарисовать картинки в памяти до и после инициализации. 2. Выполнить операции приведения типов на объявленных указателях и переменных ссылочного типа. Использовать явное и неявное приведение типов. Для демонстрации операции приведения сконструировать выражение на базе операции присваивания. 3. Определить допустимые операции, пояснить их смысл на указателях и на переменных ссылочного типа. 4. Объявить константный указатель, указатель на константу, константную ссылку, ссылку на константу. Проинициализировать всё. Привести примеры допустимых и недопустимых операций использования. 5. Объявить указатель на указатель на любой базовый тип, дать ссылку на ссылку на переменную любого базового типа. Всё проинициализировать. Проанализировать объявленные переменные. Нарисовать картинки в памяти до и после инициализации. 6. Выполнить те же действия, что в пункте 5, используя модификатор const. Использовать все возможные варианты объявлений и инициализаций. Определить допустимые операции. Привести примеры допустимых и недопустимых операций. desu |
28.12.2014, 20:13 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Иээ... Вакаримасен... Как можно такое лайно преподавать?
Ладно. Речь о вещественном. Попробую пример показать: Код:
I'm learning to live...
|
28.12.2014, 20:21 | #5 |
Пользователь
Регистрация: 08.11.2014
Сообщений: 11
|
не могли бы вы подробнее рассказать почему нам преподают гумно) я запомню все и расскажу в деканате хд
2) то есть не возможно преобразовать указатель на один тип к указателю на другой тип? |
28.12.2014, 21:06 | #6 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Так и передай мол Х?;№:№";де ноО_оО_оё Цитата:
I'm learning to live...
|
||
28.12.2014, 21:44 | #7 |
Пользователь
Регистрация: 08.11.2014
Сообщений: 11
|
это шифр который можно расшифровать или просто набор символов?)
по поводу не целесобразно... но у нас же задание такое к лабораторке т___т |
28.12.2014, 22:29 | #8 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
Потому Си и делает самостоятельные приведения типов из вещественного в целое особым способом. Даже в ассемблере для этого есть специальный набор команд. Пример: Применишь такое "преобразование" через разименовывание указателей на станке с ЧПУ и деталька на 1 миллион баксов окажется запоротой. И хорошо если не взорвется разлетевшись на кусочки, когда суппорту будет подана команда "поехать на координату 12312367515234" вместо "поехать не координату 51,25", если термисты не провтыкают внутреннее напряжение. А ведь случаи со смертельными исходами от некорректных команд в тяжелом машиностроении известны. И это так. Мелкий пример. Такое ПО ведь и ковш с плавкой разлить по цеху может пока пролетный его несет, или подать на аппарат искусственного дыхания давление в больнице. Просто поверь. Такому учат только те, кто сам ничего не умеет.
I'm learning to live...
|
||
28.12.2014, 22:34 | #9 |
Пользователь
Регистрация: 08.11.2014
Сообщений: 11
|
то есть я нахожу подтверждение своему убеждению что образование это лажа)
|
28.12.2014, 22:58 | #10 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
нормально типы можете кинуть, с объявлениями.
в вашем случае скорее всего адрес указателя преобразуется в нулевой float. Цитата:
Проверил, данное значение не преобразывается в ноль, похоже на повреждение кучи. можете весь код кинуть полный main? и компиль какой? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 28.12.2014 в 23:05. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразование типов в C++ | Timer32 | Помощь студентам | 9 | 25.12.2012 10:48 |
преобразование типов яз СИ | Танчик007 | Помощь студентам | 0 | 03.05.2011 18:57 |
Преобразование типов | Svetlana750231 | Visual C++ | 3 | 22.04.2011 13:43 |
Преобразование типов | FaTaL | Общие вопросы .NET | 5 | 07.03.2011 14:07 |
Си. Преобразование типов | pif | Помощь студентам | 3 | 20.04.2009 13:54 |