Записная книжка разработчика

Мои проекты

Мелочь, а приятно

| Comments

Если компилятор поддерживает стандарт C99, то можно делать так:

Допустим, есть тип, определенный как union:

typedef union
{
  long l_bar;
  float f_bar;
} FOO;

и функция, принимающая параметр данного типа в качестве аргумента:

void fooBar(char x, char y, FOO foo);

Тогда можно передавать в эту функцию константу таким образом:

fooBar(x, y, ((FOO){.l_bar = 1}));

Однако если стандарт C99 не поддерживается, придется создавать промежуточную переменную:

FOO foo;
foo.l_bar = 1;
fooBar(x, y, foo);