I 메모리에 두 변수의 주소를 비교하려고의 변수에 대한 메모리 주소를 비교 :확인 및 다른 종류의
이typedef struct chunk_tag {
struct chunk_tag *next; /* next node in list */
int size; /* size of node in units, not bytes */
} chunk_t;
내가 컴파일러를 얻을 : 여기
chunk_t *old_chunk, *new_chunk;
if(&(old_chunk + 1 + old_chunk->size) == &new_chunk) { }
것은 chunk_t의 프로토 타입입니다 "if 값이 단 하나 '&'피연산자로 필요합니다.
int old_chunk-> size 및 chunk_t old_chunk를 추가했기 때문에 생각했습니다. 따라서 old_chunk-> size를 if 문에서 chunk_t로 typecase하고 컴파일러에서 "비 스칼라 유형으로 변환 당신이 &
연산자의 주소를 취할 수 없도록
old_chunk + 1 + old_chunk->size
는, 좌변하지
new_chunk를 다음과 같이 선언해야합니까? new_chunk 또는 * new_chunk? –
내 잘못, 그것은 코드에서 포인터로 선언되었다,하지만 내가 그것을 쓴 때 오타가 있었어. 감사합니다 –
'chunk_t' 객체에 대한 포인터의 주소 나'chunk_t' 객체의 주소를 비교하고 싶습니까? 큰 차이가 있습니다. – Irfy