나는 이해하지 못하는 버그가 있습니다. 단지 그것을하지 않습니다 ...구조체 * p! = C의 주소
static struct ProgramList{
struct Program *program;
struct ProgramList *next;
} programs = {NULL, NULL};
struct ProgramList *p = &programs;
:이 코드 조각에서
는 P의 값은 프로그램에서 주소 여야합니다. p의 주소는 0x0097c130이고 프로그램의 주소는 0x0097c144입니다.어떤 아이디어가 필요합니까?
편집 : Microsoft Visual Studio에서 작업하고 있습니다. 디버거의 감시 기능으로 주소를 확인하고 있습니다. p와 & 프로그램을 확인하고 있습니다. 편집 2 : p의 주소는 0x0040f89c입니다. 나는 그것이 주소가 아닌 p의 가치를 찾고 있음을 안다.
struct ProgramList *p = &programs;
printf("%p %p\n", p, &programs);
을 그리고 당신은 그들이 동일 표시되어야합니다 주소를 확인하는
어떻게 당신은 그 주소를 확인하고 있습니다? – Mike
'p '의 _address_를 (를) 확인하고 계십니까? –
'p '를'& p'와 혼동하지 않으시겠습니까? –