Hi, In malloc.c defines bin_at macro, but I don't know why this way bin_at can find the bin address, #define bin_at(m, i) ((mbinptr)((char*)&((m)->bins[(i)<<1]) - (SIZE_SZ<<1))) Anyone help to explain this? Thanks a lot. Bin Chen