1
我有一個包含兩個指針的結構,< head,iterator>兩個指針指向另一個struct - Node。調試時指針分配不工作
typedef struct Map_t {
Node head;
Node iterator;
} Map_t;
typedef struct Node_t* Node;
struct Node_t {
MapDataElement Data;
MapKeyElement Key;
struct Node_t *next;
};
typedef struct Map_t *Map;
我想讓迭代指針指向相同的位置頭。繼承人之前Debbuging和捉迷藏行之後:
線之前
線
正如你可以看到,這條線之後,MAP-後>迭代器仍然指向0x0 ..爲什麼?
它可能與編譯器優化有關嗎?當你沒有優化的時候會發生這種情況嗎?更新是在未來的步驟之後發生的嗎? – TJD 2012-04-19 16:49:45
它似乎* not *指向'NULL'(正如其他值發生變化所證明的那樣),但Eclipse仍然將其顯示爲NULL。 Eclipse錯誤? – user7116 2012-04-19 16:50:58