struct Mod { unsigned char VVL:1; unsigned char freq:1; unsigned char O_2:1; unsigned char Vent:1; unsigned char IVL:1; unsigned char _100:1; unsigned char _50:1; unsigned char HF:1; }; struct Bat { unsigned char H2O:1; unsigned char kont_bat:1; unsigned char sc12:2; //unsigned char sc2:1; unsigned char v220:1; //unsigned char sc5:1; // unsigned char sc4:1; unsigned char sc345:3; }; struct sc { unsigned char sc1:1; unsigned char sc2:1; unsigned char sc3:1; unsigned char sc4:1; unsigned char sc8:1; unsigned char sc7:1; unsigned char sc6:1; unsigned char sc5:1; }; union u_bat{ struct Bat ; unsigned char c_Bat; }; union u_sc { unsigned char m_scale [5]; struct sc scale[5] ; } ; struct disp{ union dsp { unsigned char screen[15]; struct all { struct Mod mode ; unsigned char Number[8] ; union u_bat battery ; union u_sc u_scale ; }struc_dsp; }; }display; //unsigned char *ptrMax ; struct display *ptrMax; if (PressRes>MaxPress){ ptrMax = &display.struc_dsp.u_scale.m_scale[4-NumByte] ; MaxUrov= 0x03; } else{ *ptrMax |= MaxUrov; break; }