我需要一個全局結構,它定義了一個隊列數組。我想用教育目的的指針。 內部A.H我所定義的結構隊列:全局變量和結構數組
typedef struct Queue
{
int size;
q_elem *root;
q_elem *last;
} Queue;
和外部可變
extern Queue **queue;
交流轉換器所具有的功能隊列* queue_new()來創建一個新的隊列。
現在b.c使用全局變量Queue ** queue;我想創建一個隊列數組。
我想什麼:
queue = calloc(num_queues, sizeof(Queue*));
int i;
for(i=0; i < num_queues; i++){
queue[i] = queue_new();
}
但它似乎沒有當我檢查我的調試器中正常工作。我究竟做錯了什麼?
Queue* queue_new() {
Queue *newQ = (Queue*) malloc(sizeof(Queue));
if (newQ == NULL)
return NULL;
*newQ = (Queue) {0, NULL, NULL};
return newQ;
}
它是如何不起作用是否正確? – user694733
當我檢查調試器內部時,_it的含義似乎並不正確。 – Rohan
我認爲這可能是你在queue_new() – Marco