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

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

Войти
Регистрация
Восстановить пароль
 
zewer
 Аватар для zewer
1043 / 734 / 72
Регистрация: 07.01.2011
Сообщений: 5,528
19.12.2011, 04:29     объединения, онли теория #1
есть у меня объединение
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
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
19.12.2011, 04:38     объединения, онли теория #2
Наибольший элемент в данном обьединении будет массив из трех элементов типа float.
zewer
 Аватар для zewer
1043 / 734 / 72
Регистрация: 07.01.2011
Сообщений: 5,528
19.12.2011, 04:43  [ТС]     объединения, онли теория #3
реально, провтикал его
большое спасибо!
Yandex
Объявления
19.12.2011, 04:43     объединения, онли теория
Ответ Создать тему
Опции темы

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