使用前要包含头文件uthash.h
定义结构体时再后面加上UT_hash_handle hh;就可以把这个结构体当作哈希表用
key
key可以是int,char,char* 和char数组和结构体浮点数等
在定义一个哈希表指针后必须让它指向NULL
函数
int:
HASH_ADD_INT( head ,key , s)//第一个参数head是你要将这个数据插入的哈希表指针,第二个参数key是你自己定义的key名,第三个是以个存有你需要存入数据的一个与head同类型的哈希表指针
HASH_FIND_INT(head, &key ,s)//head同上,第二个参数&key是你需要查找的key的地址(必须是地址),s是和head同类型的指针,如果找到了函数会将找到的数据的地址赋给s如果没有找到s==NULL
char key[N]:(字符串型)
HASH_ADD_STR(head,key,s)//第一个参数head是你要将这个数据插入的哈希表指针,第二个参数key是你自己定义的key名,第三个是以个存有你需要存入数据的一个与head同类型的哈希表指针
HASH_FIND_STR(head,&key,s)//head同上,第二个参数&key是你需要查找的key的地址(必须是地址),s是和head同类型的指针,如果找到了函数会将找到的数据的地址赋给s如果没有找到s==NULL
const char *p型(字符指针类型)
HASH_ADD_KEYPET(hh,head,key指针,指针长度,s)
HASH_FIND_STR(head,&key,s)//head同上,第二个参数&key是你需要查找的key的地址(必须是地址),s是和head同类型的指针,如果找到了函数会将找到的数据的地址赋给s如果没有找到s==NULL
void *p(指针型)
HASH_ADD_PTR(head,key名,s)
HASH_FIND_PTR(head,key指针的地址,s)