Результаты поиска по запросу "unions"

3 ответа

Можем ли мы использовать va_arg с профсоюзами?

6.7.2.1. В параграфе 14 моего проекта стандарта C99 говорится о профсоюзах и указателях (как всегда добавлено выделение): Размер союза достаточен, чтобы содержать самого большого из его членов. Значение не более одного из членов может быть ...

2 ответа

Определите объединение, которое может получить доступ к битам, клевам, байтам

union bits { unsigned int a : 1; unsigned int b : 2; unsigned int c : 3; unsigned int d : 4;`` unsigned char x[2]; unsigned int z; };Предположим, в объединении 32 бит, мне нужно использовать один бит, или группу битов, или клев, или байты. Есть ...

4 ответа

Когда использовать объединение и когда использовать структуру

Я знаю разницу между объединением и структурой. Но с точки зрения дизайна и кодирования, каковы различные варианты использования объединения вместо структуры? Одним из них является космическая оптимизация. Есть ли еще преимущества их использования?

ТОП публикаций

2 ответа

преобразование C в C #

Я пытаюсь преобразовать этот код C в C #, есть ли C # эквивалент C typedef объединения? struct sockaddr_in { short sin_family; u_short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; typedef struct in_addr { union { struct { ...

3 ответа

размер союза больше, чем ожидалось. как здесь происходит выравнивание типов?

#include <stdio.h> union u1 { struct { int *i; } s1; struct { int i, j; } s2; }; union u2 { struct { int *i, j; } s1; struct { int i, j; } s2; }; int main(void) { printf(" size of int: %zu\n", sizeof(int)); printf("size of int pointer: %zu\n", ...

3 ответа

Можно ли инициализировать объединение в декларации?

Например, скажем, у нас есть союз typedef union { unsigned long U32; float f; }U_U32_F;Когда объявляется переменная этого типа объединения, есть ли способ установить начальное значение? U_U32_F u = 0xffffffff; // Does not work...is there a ...

4 ответа

Проблема объединения и структурирования

Я пишу программное обеспечение, в котором каждый бит должен быть точным (это для процессора), поэтому __packed очень важен. typedef union{ uint32_t raw; struct{ unsigned int present:1; unsigned int rw:1; unsigned int user:1; unsigned int ...

3 ответа

Что является эквивалентом Boost :: Вариант в стандартной библиотеке C ++?

Я ищу альтернативу C-style union. Boost :: вариант является одним из таких вариантов. Есть что-нибудь в стандарте C ++? union { int i; double d; }

4 ответа

строгое наложение и выравнивание

Мне нужен безопасный способ для псевдонима между произвольными типами POD, в соответствии с ISO-C ++ 11, явно учитывая 3.10 / 10 и 3.11 из n3242 или более поздней версии. Здесь много вопросов о строгом псевдониме, большинство из которых касаются ...

2 ответа

Ошибка объединения в структуре

У меня есть следующая структура: struct type1 { struct type2 *node; union element { struct type3 *e; int val; }; };При инициализации указателя*f это указывает на случайtype1 и делать что-то вроде:f.element->e или даже простоf.element, Я ...