C语言中宏定义隐藏结构体指针的小技巧

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);

可以看到在使用的时候直接传递结构体对象,不需要传递结构体的指针了。方便吧!

猜你喜欢

转载自blog.csdn.net/star871016/article/details/109237310