開源庫「uthash h」使用方法記錄

2021-10-01 16:18:57 字數 887 閱讀 1008

"uthash.h"是乙個非常好用的c語言關於雜湊表的開源庫,現將此使用方法做一記錄。

「uthash.h」直接從github上clone就行了。

使用時#include "uthash.h"即可。

下面重點說一下相關函式使用方法。

struct hash_table;

typedef struct hash_table* hash_ptr;

key和value的型別可以變,hh這個控制代碼必須要有。

根據key的型別使用不同的函式。

int:hash_add_int

字串: hash_add_str

pointer: hash_add_ptr

其他型別: hash_add

前面幾個實質上都呼叫了最後乙個hash_add。

比如:

hash_ptr elem, table = null; //table為建立的雜湊表,elem是插入時使用的節點

//table必須初始化為null

elem = (hash_ptr)malloc(sizeof(struct hash_table));

elem->key = mykey;

elem->value = myvalue;

hash_add_int(table, key, elem); //第二個引數為雜湊表作為key的變數的名字

同理,按型別使用不同的函式。

比如key為int: hash_find_int

為使用方便,可以自己寫乙個根據key查詢的函式, 返回結構體指標。

hash_ptr find_node(hash_ptr table, int key)

動態庫使用方法

動態庫api介紹 include void dlopen const char filename,intflag char dlerror void void dlsym void handle,const char symbol int dlclose void handle dlopen 以指定...

python records 庫使用方法

records 庫由大名鼎鼎的 kenneth reitz 開發,他也是 python requests 庫的作者。records 模組的口號是 sql for the human。開發人員基本只需要關注 sql 語句。records 庫基於 sqlalchemy 實現,所以連線字串相同。比如我想基...

json c 庫的使用方法

引入json c的庫 json c的讀寫操作 讀json c json object pobj null pobj json object from file bob.json 讀檔案裡的資料 pval json object object get jobj,sname type json obje...