首先,看一下queue中最基本的幾個宏:

復(fù)制代碼
1 typedef void *QUEUE[2]; 2 3 /* Private macros. */ 4 #define QUEUE_NEXT(q)       (*(QUEUE **) &((*(q))[0])) 5 #define QUEUE_PREV(q)       (*(QUEUE **) &((*(q))[1])) 6 #define QUEUE_PREV_NEXT(q)  (QUEUE_NEXT(QUEUE_PREV(q))) 7 #define QUEUE_NEXT_PREV(q)  (QUEUE_PREV(QUEUE_NEXT(q)))
復(fù)制代碼

     首先,QUEUE被聲明成一個"具有兩個char*元素的指針數(shù)組",如下圖:

                       

網(wǎng)友評論