Или не получается ? Покажите как делаете.
Или не получается ? Покажите как делаете.
Код: Выделить всё
#define TEST (uint16_t)(2*30*3)
#warning "VarTest=TEST"
Код: Выделить всё
if(condition) var1=a, var2=b, var3=c;Код: Выделить всё
var1=aКод: Выделить всё
var1=a;Код: Выделить всё
var1=a, var2=bКод: Выделить всё
var1=a, var2=b;Код: Выделить всё
for(i=0; i<10; i++, j++)
arr1[i] = arr2[j];
Код: Выделить всё
i++, j++Код: Выделить всё
{ var1=a; var2=b; var3 =c; }
Код: Выделить всё
var1=a, var2=b, var3 =c;
Код: Выделить всё
if(uint32_t x=10; condition) var1 = x, var2 = x*x, var3 = x*x+x;да и хрен бы с ним. вопрос - ЗАЧЕМ это разрешено синтаксисом? ведь какой-то смысл должен быть в каждой фиче?VladislavS писал(а):Значит имеет право быть
Код: Выделить всё
if( a[i]<b[j] )
{
t = a[i];
a[i] = b[j];
b[j] = t;
}
Код: Выделить всё
if( a[i]<b[j] )
t = a[i], a[i] = b[j], b[j] = t;
В одну строку также можно написать.Const14 писал(а):В данном примере кажется логичным представить составной оператор перестановки в виде одного
Код: Выделить всё
if( a[i]<b[j] )
{t = a[i]; a[i] = b[j]; b[j] = t;}Код: Выделить всё
struct flag {
unsigned char dst_enable: 1; // вкл. перехода на летнее время
unsigned char leadingzero:1;
};
union {
unsigned char eflag;
struct flag fflag;
} test;
сам всегда делаю и другим советую: typedefuldemir писал(а):как мне это описать в .h файле, чтобы другие знали, что есть такой test.flag.leadingzero?
Код: Выделить всё
// файл my_defines.h
typedef struct {
unsigned char dst_enable: 1; // вкл. перехода на летнее время
unsigned char leadingzero:1;
} flag_t;
typedef union {
unsigned char eflag;
flag_t fflag;
} test_t;
extern test_t test;
// в одном из файлов пишется так
#include "my_defines.h"
test_t test;
// в остальных файлах только инклюдится my_defines.hКод: Выделить всё
typedef union{
unsigned char as_byte;
struct{
unsigned char dst_enable: 1; // вкл. перехода на летнее время
unsigned char leadingzero:1;
}
} flag_t;
extern flag_t flag;Код: Выделить всё
flag.as_byte = 3;
flag.dst_enable = 0;
flag.leadingzero = 1;Код: Выделить всё
if( a[i]<b[j] )
t = a[i], a[i] = b[j], b[j] = t;
Код: Выделить всё
if(a[i] < b[j])
b[j] = (t = a[i], a[i] = b[j], t);