There isn't any specific macro.

I just wanted to test how well macros would be suited for doing some generic programming in lite-C without using void pointers.

Something like this, for example:
Code:
// dynamic array of specific type
#define CREATE_VECTOR(type)    \
typedef struct VECTOR_##type { \
        int size, count;       \
        type *data;            \
} VECTOR_##type ;

Using void* is ok for me in most cases.
However, it gets impractical when dealing with primitive data types like int.