Skip to content

Instantly share code, notes, and snippets.

@airportyh
Created May 17, 2021 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save airportyh/10613f90e3bb1ae95409feccf8623424 to your computer and use it in GitHub Desktop.
Save airportyh/10613f90e3bb1ae95409feccf8623424 to your computer and use it in GitHub Desktop.
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include "uthash.h"
typedef struct _Person {
unsigned long id;
char *name;
char *email;
UT_hash_handle hh;
} Person;
Person *persons = NULL;
Person *personsById = NULL;
int main() {
char *sentence = "I love Bobby Brown.";
Person *p = malloc(sizeof(Person));
memset(p, 0, sizeof(Person));
p->id = 1;
p->name = "Bobby";
p->email = "bob@gmail.com";
// HASH_ADD_KEYPTR(hh, persons, p->name, strlen(p->name), p);
HASH_ADD_INT(personsById, id, p);
Person *p2 = malloc(sizeof(Person));
memset(p2, 0, sizeof(Person));
p2->id = 2;
p2->name = "Sarah";
p2->email = "sarah@aol.com";
// HASH_ADD_KEYPTR(hh, persons, p2->name, strlen(p2->name), p2);
HASH_ADD_INT(personsById, id, p2);
// Person *p3;
// HASH_FIND_STR(persons, "Sarah", p3);
// printf("Found person: %s\n", p3->name);
// printf(" email: %s\n", p3->email);
// Person *p4;
// HASH_FIND(hh, persons, sentence + 7, 5, p4);
// printf("Found person: %s\n", p4->name);
// printf(" email: %s\n", p4->email);
Person *p5;
unsigned long id = 1;
HASH_FIND_INT(personsById, &id, p5);
printf("Found person by id: %s\n", p5->name);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment