struct _vendor_codes { char *code; char *vendor; }; struct _vendor_codes vendor_codes[] = { { "000001", "SuperLAN-2U" }, { "000002", "BBN (was internal usage only, no longer used)" }, { "000009", "powerpipes?" }, }; // I think the above can be done as: struct _vendor_codes { char *code; char *vendor; } vendor_codes[] = { { "000001", "SuperLAN-2U" }, { "000002", "BBN (was internal usage only, no longer used)" }, { "000009", "powerpipes?" }, }; // Then to search for one you use something like this: for (i = 0; i < sizeof(vendor_codes) / sizeof(struct _vendor_codes); i++) if (strcmp(bleh, vendor_codes[i]) == 0) do_something;