比如
typedef struct _flag_struct { unsigned step1 : 1; unsigned step2 : 1; unsigned step3 : 1; unsigned step4 : 1; unsigned step5 : 1; unsigned step6 : 1; unsigned step7 : 1; unsigned step8 : 1; }flag_struct; flag_struct flag;
我想在初始化时将flag里的成员变量全部置0;
除了一个一个让他等于0之外,有没有什么办法一下子全部置0;
我想的是既然他们在一个字节里,感觉能一下子全置0吧。
我的编译器是 MDK 5.23
解决办法
包含头文件<string.h>
然后用memset函数即可
union U { char set; struct _flag_struct{ unsigned step1 : 1; unsigned step2 : 1; unsigned step3 : 1; unsigned step4 : 1; unsigned step5 : 1; unsigned step6 : 1; unsigned step7 : 1; unsigned step8 : 1; }flag ; } u; u.set='\0'; // 一次性赋值 u.flag.step1=1; //分别赋值 u.flag.step2=0; ...
初始化的时候可以flag_struct flag=0;
程序编程的时候全赋值,可以用memset