Структуры

  • Автор темы Автор темы korish
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
K

korish

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab