두 포인터가 포함 된 구조체가 있습니다. < 머리글, 반복기> 두 포인터가 다른 구조체 - 노드를 가리 킵니다.포인터 할당이 디버깅 중에 작동하지 않습니다.
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;
나는 머리와 같은 위치에 반복자 포인터 지점을 만들고 싶어. 를 heres 전에 Debbuging과 라인을 실행 해 후 :
라인 전에
라인
당신이 볼 수 있듯이, 라인을 실행 한 후, -지도 후 > iterator는 여전히 0x0을 가리 킵니다. 왜 그런가요?
컴파일러 최적화와 관련이 있습니까? 최적화없이 구축 할 때 이런 현상이 발생합니까? 이후 단계 후에 업데이트가 발생합니까? – TJD
"NULL"을 가리키고 있지 않습니다 (다른 값이 변함에 따라 알 수 있듯이). 그러나 이클립스는 여전히 그것을 'NULL'로 표시합니다. 이클립스 버그? – user7116