#define VMSDISPOSITION_SIZE 31
typedef struct _VMSDISPOSITION
{
BYTE MajorVersion;
BYTE MinorVersion;
VMSDATE BuildDate;
WORD DisplayWidth;
WORD DisplayHeight;
BYTE PrimaryColors;
BYTE BitsPerColor;
DWORD TotalDiskSpace;
DWORD FreeDiskSpace;
VMSDATETIME LastResetTime;
}VMSDISPOSITION;
我知道这是一个结构体 #define VMSDISPOSITION_SIZE 31 这句是什么意思 还有VMSDISPOSITION_SIZE 和31是什么意思?
简答来讲,这实际上是一个赋值操作,也就是说
VMSDISPOSITION_SIZE=31
,而它有一个比较牛逼的名字叫做宏定义,或者你也可以理解它为定义一个常量。而这个宏定义和赋值又有什么区别?编译器在对这段代码进行编译的时候,会自动将VMSDISPOSITION_SIZE替换成31,假如有cout<<VMSDISPOSITION_SIZE
,那编译器会自动将VMSDISPOSITION_SIZE替换成31。而宏定义也不止这一种只能定义数字这一项功能,还可以定义语句,比如
#define VMSDISPOSITION_SIZE cout<<"hello world!";
,那么当编译器遇到VMSDISPOSITION_SIZE的时候,会自动将VMSDISPOSITION_SIZE替换为cout<<"hello world!";