Форум программистов, компьютерный форум CyberForum.ru

Объединение (union), объяснить выведенное значение - C++

Восстановить пароль Регистрация
 
den_95
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 4
24.05.2013, 22:00     Объединение (union), объяснить выведенное значение #1
Здравствуйте. При вызове обработчика выдаются значения переменных a,b,c, но когда я удаляю строку data.c = -3; вместо с выдается число 1084709929. Мне нужно объяснить откуда оно берется или как вычисляется, знаю только что оно не случайно и каким-то образом зависит от типа данных переменной с, типа данных переменной b и самой b. Заранее спасибо.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
typedef union { short a; float b; long c;} DataStr1;
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
   DataStr1 data;
   data.a = 2;
   ShowMessage(IntToStr(data.a));
   data.b = 5.23;
   ShowMessage(FloatToStr(data.b));
//   data.c = -3;
   ShowMessage(IntToStr(data.c));
   ShowMessage(IntToStr(data.a));
   ShowMessage(FloatToStr(data.b));
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
24.05.2013, 22:03     Объединение (union), объяснить выведенное значение #2
про юнионы читал в инете?
den_95
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 4
24.05.2013, 22:04  [ТС]     Объединение (union), объяснить выведенное значение #3
да, но по данной теме ничего не смог найти
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
24.05.2013, 22:18     Объединение (union), объяснить выведенное значение #4
в union инициализировано единовременно может быть только одно поле
den_95
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 4
24.05.2013, 22:22  [ТС]     Объединение (union), объяснить выведенное значение #5
про это я знаю, мне нужно объяснить откуда взялось полученное значение
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,163
Завершенные тесты: 2
24.05.2013, 22:25     Объединение (union), объяснить выведенное значение #6
вернее то что лежит во втором поле интерпретируется по правилам третьего поля и выводится
den_95
0 / 0 / 0
Регистрация: 24.05.2013
Сообщений: 4
24.05.2013, 22:30  [ТС]     Объединение (union), объяснить выведенное значение #7
спасибо огромное!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2013, 05:38     Объединение (union), объяснить выведенное значение
Еще ссылки по теме:

Стартовое значение union C++
C++ Объединение (union) "Ученик"
Объяснить значение строки в программе C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
25.05.2013, 05:38     Объединение (union), объяснить выведенное значение #8
Цитата Сообщение от Кудаив Посмотреть сообщение
в union инициализировано единовременно может быть только одно поле
что за бред?
Yandex
Объявления
25.05.2013, 05:38     Объединение (union), объяснить выведенное значение
Ответ Создать тему
Опции темы

Текущее время: 15:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru