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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zewer
1082 / 773 / 76
Регистрация: 07.01.2011
Сообщений: 5,708
#1

объединения, онли теория - C++

19.12.2011, 04:29. Просмотров 283. Ответов 2
Метки нет (Все метки)

есть у меня объединение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
union un23 {
        char a[6];
        float b[3];
        struct {
            int f;
            short c;
        };
        double e;
    } un;
 
 un.e = 8951; 
 un.c = 8400; 
 un.a[0] = 8;
 un.a[1] = 9;
 un.a[2] = 3;
 un.a[3] = 2;
 un.a[4] = 1;
я посчитал, что размерность объединениe будет 8 байт(ето видно по найбольшему елементу, тоесть double e )
компилятор считает что будет 16, тоесть 8 байт в форме чисел, дальше 8 байт просто виравнивание:
тоесть формат запису ХХ ХХ ХХ ХХ ХХ ХХ ХХ ХХ СС СС СС СС СС СС СС СС
СС, ето виравнивание компилятором
вопрос, почему компилятор считает что размерность 16, если видно что 8???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2011, 04:29     объединения, онли теория
Посмотрите здесь:

C++ Структуры и объединения
C++ Объединения (union)
Cтруктуры. Перечисления. Объединения C++
Тема: Объединения C++
Union - Объединения C++
Объединения C++
C++ задачка на объединения
Структуры, Объединения, Перечисления C++
Объединения объектов классов C++
Структуры и объединения C++
C++ Объединения
C++ Анализ переменных объединения

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
3031 / 2352 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
19.12.2011, 04:38     объединения, онли теория #2
Наибольший элемент в данном обьединении будет массив из трех элементов типа float.
zewer
1082 / 773 / 76
Регистрация: 07.01.2011
Сообщений: 5,708
19.12.2011, 04:43  [ТС]     объединения, онли теория #3
реально, провтикал его
большое спасибо!
Yandex
Объявления
19.12.2011, 04:43     объединения, онли теория
Ответ Создать тему
Опции темы

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