struct OneColumS 
{
unsigned char bit0:1;
unsigned char bit1:1;
unsigned char bit2:1;
unsigned char bit3:1;
unsigned char bit4:1;
unsigned char bit5:1;
unsigned char bit6:1;
unsigned char bit7:1;
unsigned char bit8:1;
unsigned char bit9:1;
unsigned char bit10:1;
unsigned char bit11:1;
unsigned char bit12:1;
unsigned char bit13:1;
unsigned char bit14:1;
unsigned char bit15:1;
unsigned char bit16:1;
unsigned char bit17:1;
unsigned char bit18:1;
unsigned char bit19:1;
unsigned char bit20:1;
unsigned char bit21:1;
unsigned char bit22:1;
unsigned char bit23:1;
unsigned char bit24:1;
unsigned char bit25:1;
unsigned char bit26:1;
unsigned char bit27:1;
unsigned char bit28:1;
unsigned char bit29:1;
unsigned char bit30:1;
unsigned char bit31:1;
unsigned char bit32:1;
unsigned char bit33:1;
unsigned char bit34:1;
unsigned char bit35:1;
unsigned char bit36:1;
unsigned char bit37:1;
unsigned char bit38:1;
unsigned char bit39:1;
unsigned char bit40:1;
unsigned char bit41:1;
unsigned char bit42:1;
unsigned char bit43:1;
unsigned char bit44:1;
unsigned char bit45:1;
unsigned char bit46:1;
unsigned char bit47:1;
unsigned char bit48:1;
unsigned char bit49:1;
unsigned char bit50:1;
unsigned char bit51:1;
unsigned char bit52:1;
unsigned char bit53:1;
unsigned char bit54:1;
unsigned char bit55:1;
unsigned char bit56:1;
unsigned char bit57:1;
unsigned char bit58:1;
unsigned char bit59:1;
unsigned char bit60:1;
unsigned char bit61:1;
unsigned char bit62:1;
unsigned char bit63:1;
unsigned char bit64:1;
unsigned char bit65:1;
unsigned char bit66:1;
unsigned char bit67:1;
unsigned char bit68:1;
unsigned char bit69:1;
unsigned char bit70:1;
unsigned char bit71:1;
unsigned char bit72:1;
unsigned char bit73:1;
unsigned char bit74:1;
unsigned char bit75:1;
unsigned char bit76:1;
unsigned char bit77:1;
unsigned char bit78:1;
unsigned char bit79:1;
unsigned char bit80:1;
unsigned char bit81:1;
unsigned char bit82:1;
unsigned char bit83:1;
unsigned char bit84:1;
unsigned char bit85:1;
unsigned char bit86:1;
unsigned char bit87:1;
unsigned char bit88:1;
unsigned char bit89:1;
unsigned char bit90:1;
unsigned char bit91:1;
unsigned char bit92:1;
unsigned char bit93:1;
unsigned char bit94:1;
unsigned char bit95:1;
unsigned char bit96:1;
unsigned char bit97:1;
unsigned char bit98:1;
unsigned char bit99:1;
unsigned char bit100:1;
unsigned char bit101:1;
unsigned char bit102:1;
unsigned char bit103:1;
unsigned char bit104:1;
unsigned char bit105:1;
unsigned char bit106:1;
unsigned char bit107:1;
unsigned char bit108:1;
unsigned char bit109:1;
unsigned char bit110:1;
unsigned char bit111:1;
unsigned char bit112:1;
unsigned char bit113:1;
unsigned char bit114:1;
unsigned char bit115:1;
unsigned char bit116:1;
unsigned char bit117:1;
unsigned char bit118:1;
unsigned char bit119:1;
unsigned char bit120:1;
unsigned char bit121:1;
unsigned char bit122:1;
unsigned char bit123:1;
unsigned char bit124:1;
unsigned char bit125:1;
unsigned char bit126:1;
unsigned char bit127:1;
}OneColumS_1;
有这么个结构体,成员全是位变量,下面有个函数
void xxxx(unsigned char xx)
{}
 怎么样根据xx值,直接操作以xx位置开始的八个位变量?
 如:
假设xx=111;,那么我要操作bit110----bit117这八个位量
要是不然。
就要这么写了
void xxxx(unsigned char xx)
{
 switch(xx)
{
case:0
 //操作以0开始的八个位量;
 break;
case:1
 //操作以1开始的八个位量;
 break;
..
....
..
..
 }
  
}
这样写那不要烦死,请问高人,有什么方法可以简化呢