1. 队列类型及操作的宏定义: // 队列类型表示:Queue_元素类型(如元素为整形的队列类型为:Queue_int) // _ET:元素类型 #define Q_TYPE(_ET) Queue_##_ET // 队列变量定义:每个队列对应一个数组,用于存放元素,数组名表示成:qBuf##queue // 在定义队列变量时需指定队列长度:由len指定 // ET: 元素类型 // queue: 队列变量名 // len: 队列长度 #define Q_DEFINE(ET,queue,len) ET qBuf##queue[len]; int qBufLen##queue = sizeof (ET) * len;Q_TYPE(ET) queue // 队列类型(结构体)定义: // ET: 元素类型 // Queue_##ET: 具体化后的队列类型,由不同的元素类型决定 #define Q_TYPE_DEFINE(ET) typedef struct ... { ET* pElems; int front, rear, size; int maxSize; } Queue_##ET;