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

  • Ретрожурнал

    Удивительно, но во времена ссср издавался американский журнал на русском языке "Электроника" ("Electronics"). Переводом занималось издательство…

  • Выниматели микросхем

    Продаётся на барахолке такое чудо: Спрашивается, нахрена и кому понадобились микросхемы с этой платы? Драгметаллов в них нет, вставить их куда-то…

  • Реальная история разработки Commodore C128

    Опубликовал на хабре новый перевод: Реальная история разработки Commodore C128. Заходите, ставьте плюсики, комментируйте там или здесь.

  • 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