Как упростить этот код C? - PullRequest
0 голосов
/ 23 марта 2011

Я хочу упростить следующий код на C. Есть ли какая-нибудь хеш-таблица на C, чтобы сделать ее проще? Например "dict" в Python.


int a, b, c, d ......

a = get_value_from_sth( A_NAME )

b = get_value_from_sth( B_NAME )

c = get_value_from_sth( C_NAME )

d = get_value_from_sth( D_NAME )

......

Ответы [ 3 ]

1 голос
/ 23 марта 2011

Нет, C не имеет встроенного типа хэш-таблицы, подобного dicts Python. Вы можете обойтись с массивом, в зависимости от ваших потребностей.

0 голосов
/ 23 марта 2011

Проверить Глеб-таблицы glib .Не "официальный" или "встроенный", но широко используемый и максимально приближенный к стандартной реализации хеш-таблицы для C.

0 голосов
/ 23 марта 2011

Вам потребуется создать функцию для сопоставления ptr со значением в массиве.

Вот как это делает python. http://docs.python.org/c-api/dict.html

Лично я не беспокоюсь. Это C. Лучшее решение все равно будет некрасивым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...