我正在编写一个小型Lua绑定库。目前我提供了一个非常简单的结构来保存键/值,其中 myvalue
是一个void pointer
.
struct kvPair {
enum EVENT_TYPE type;
char *key;
void *value;
};
typedef struct kvPair KeyValuePair;
KeyValuePair kvPairWithNumber(char *key, float number)
{
KeyValuePair kv;
float *aux = malloc(sizeof(float)); // <-- help
*aux = number;
kv.key = key;
kv.type = NUMBER;
kv.value = aux;
return kv;
}
我想知道这种用例......什么是处理 malloc 的好方法?我真的不想这样做:
if (aux == NULL) {
exit(0);
}
也许我可以预先分配一块内存,并用我自己更简单的实现覆盖 malloc 调用(使用简单堆栈的自定义内存分配器?)
想收到反馈和例子,简单是首选。