Структуры

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

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

    korish Гость

    Репутация:
    0
    Требуется создать массив элементов в структуре. Необходимо чтобы каждый из элементов массива был размером в 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

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    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 Гость

    Репутация:
    0
    Подойдет, спасибо.
     
Загрузка...
Похожие Темы - Структуры
  1. Code Market
    Ответов:
    0
    Просмотров:
    5
  2. Code Market
    Ответов:
    0
    Просмотров:
    10
  3. TSoprano
    Ответов:
    1
    Просмотров:
    1.127
  4. vlada
    Ответов:
    6
    Просмотров:
    1.582
  5. Anastasia18
    Ответов:
    1
    Просмотров:
    1.284
Статус темы:
Закрыта.

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