typedef struct _FOURBYTE{
unsigned c1:8;
unsigned c2:8;
unsigned c3:8;
unsigned c4:8;
}FOURBYTE;
上面定义了一个什么结构?????
#define DSP_STD_DANG 0x0001
这又是定义了一个什么东东????
unsigned c1:8;
unsigned c2:8;
unsigned c3:8;
unsigned c4:8;
}FOURBYTE;
上面定义了一个什么结构?????
#define DSP_STD_DANG 0x0001
这又是定义了一个什么东东????
欲编译系统
这又是定义了一个什么东东????
-->定义静态值呀。是个16位的数值。
unsigned就是unsigned int ,32bits系统中是32位的。
以vc+windows为例
c1,c2,c3,c4各占8位,具体在内存中的分配与编译的系统,操作系统,硬件都有关,所以这样写的移植性不好。
以vc+windows为例,简单理解,其实是一个32位的数,最左边8位是c1,然后8位是c2,...
unsigned c1:8;
unsigned c2:8;
unsigned c3:8;
unsigned c4:8;
}FOURBYTE;
定义了一个存储结构共32位c1、c2、c3、c4个占8位
如果还是不明白看看C的位运算#define DSP_STD_DANG 0x0001
定义了一个宏 在编译时其后的所有DSP_STD_DANG用0x0001代替
这是C中定义常量最常用的方法(其实不能叫常量,在C中没有常量,这只是一个表示方法)
就是以后见到 DSP_STD_DANG 就直接换为0x0001
当然引号里就不换了。