1. 通过宏定义 隐藏指针传递
定义:
#define vector_push_back(v, e) _vector_push_back(v, (void *)&e, sizeof(e))
void _vector_push_back(struct vector *v, void *e, size_t type_size)
使用:
struct tmp_box tb;
tb.c = 'a';
vector_push_back(c, tb);
可以看到在使用的时候直接传递结构体对象,不需要传递结构体的指针了。方便吧!