Структуры

Тема в разделе "Общие вопросы по С и С++", создана пользователем korish, 8 дек 2010.

Статус темы:
Закрыта.
  1. korish

    korish Гость

    Требуется создать массив элементов в структуре. Необходимо чтобы каждый из элементов массива был размером в 1 бит.
    Я пробовал сделать вот как:

    struct aaa
    {
    unsigned int m[30] : 1 ;
    };
    При компиляции получаю ошибку.
    Сейчас расписал каждый элемент массива отдельно:
    struct bbb
    {
    unsigned int m1 : 1 ;
    ...
    unsigned int m30 : 1 ;
    };
    Получается довольно громоздко. Можно ли как-то сделать более компактно?
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Вот так подойдет?
    Код (C++):
    #include <stdio.h>

    //#pragma pack(push,1)
    typedef struct {
    char    bit:1;
    } t_bit;

    typedef struct {
    t_bit   array[30];
    } t_bit_array;
    //#pragma pack(pop)

    int main()
    {
    t_bit_array     a;
    a.array[0].bit = 1;

    printf( "sizeof( t_bit ) = %d\n", sizeof( t_bit ) );
    printf( "sizeof( t_bit_array ) = %d\n", sizeof( t_bit_array ) );

    return 0;
    }
     
  3. korish

    korish Гость

    Подойдет, спасибо.
     
Загрузка...
Похожие Темы - Структуры
  1. TSoprano
    Ответов:
    1
    Просмотров:
    1.007
  2. vlada
    Ответов:
    6
    Просмотров:
    1.457
  3. Anastasia18
    Ответов:
    1
    Просмотров:
    1.204
  4. b0006
    Ответов:
    0
    Просмотров:
    1.175
  5. dimat
    Ответов:
    0
    Просмотров:
    2.290
Статус темы:
Закрыта.

Поделиться этой страницей