casting char* to char**
Posted
by
blue_whale
on Stack Overflow
See other posts from Stack Overflow
or by blue_whale
Published on 2012-10-17T04:59:42Z
Indexed on
2012/10/17
5:00 UTC
Read the original article
Hit count: 154
I am having a tough time understanding the following piece of code:
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];
Looking at the code it seems this is trying to create some kind of circular link list. But I have no clue what those casts are actually doing.
© Stack Overflow or respective owner