我很难理解以下代码:
int stride = 512;
int max_len = 1024 * stride;
char *addr = (char *)malloc(max_len);
for (int i=stride; i<max_len; i += stride)
*(char **)&addr[i-stride] = (char*)&addr[i];
*(char **)&addr[i-stride] = (char*)&addr[0];
查看代码,这似乎是在尝试创建某种循环链接列表。但我不知道这些演员实际上在做什么。