uthash.h中的宏HASH_ITER的参数讲解?以及如何运行,实现迭代?如何配合HASH_DEL完成迭代删除操作?
HASH_ITER(hh, USER, s, tm)
{
HASH_DEL(USER,s);
free(s);
}
力扣49题一个题解的部分代码:
HASH_ITER(hh, USER, s, tm)
{
res[s->rsz] = (char**)malloc(sizeof(char*) * (s->cnt)); //为每一行字符串指针分配空间
for (int j = 0; j < s->cnt; j++)
{
res[s->rsz][j] = strs[s->index[j]];
}
(*returnColumnSizes)[s->rsz] = s->cnt; //每行的单词数量就是该节点出现的次数
HASH_DEL(USER,s);
free(s);
}
看了半天不知道怎么实现的
在迭代中,s和tm怎么变换的?