我很难理解这段代码:
特别是这部分:
// check that the stuff we wrote has not changed
if(n[k][0]!=(unsigned char)(n[k]+s[k]+k))
printf("Error when checking first byte!\n");
if(s[k]>1 && n[k][s[k]-1]!=(unsigned char)(n[k]-s[k]-k))
printf("Error when checking last byte!\n");
整个程序试图模仿 Windows 的malloc
功能free
。它必须在 Windows 上运行。
任何人都可以解释这两个 ifs 是如何工作的?
谢谢。