Quote Originally Posted by john.c View Post
It is reinterpreting a pointer to DC_ATTR into a pointer to void* and then storing an address at that location to make it part of a linked list.
Code:
#include <stdio.h>
#include <stdlib.h>
 
#define prn(x) printf(#x ": %p\n", (void*)x)
 
struct Stuff {
    int a, b, c, d;
};
 
int main() {
    void *list = NULL;
 
    struct Stuff *a = malloc(sizeof *a);
    *(void**)a = list;
    list = a;
 
    struct Stuff *b = malloc(sizeof *b);
    *(void**)b = list;
    list = b;
 
    prn(a);
    prn(b);
    prn(list);
 
    struct Stuff *x = list;
    list = *(void**)list;
 
    x->a = 1;
    x->b = 2;
 
    prn(list);
 
    return 0;
}
Thanks, John C, as always.

I guess that's about all I can say.