32bit_me (32bit_me) wrote,
32bit_me
32bit_me

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

Originally published at 32 bit.me. You can comment here or there.

Если компилятор поддерживает стандарт 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);
Tags: C и C++, программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments