21xrx.com
2024-11-08 20:24:01 Friday
登录
文章检索 我的文章 写文章
C语言中实现键值对(Dictionary)的方法
2023-06-15 00:49:05 深夜i     --     --
C语言 键值对 结构体

在C语言中,虽然没有内置的Dictionary数据结构,但我们可以用其他数据结构来实现键值对。例如可以使用结构体来保存每个键值对,也可以使用链表或二叉树来存储多个键值对。

以下是一个使用结构体的例子:


#include

#include

#include

struct KeyValue {

  char *key;

  int value;

};

struct KeyValue * createKeyValue(char *key, int value) {

  struct KeyValue *kv = (struct KeyValue*) malloc(sizeof(struct KeyValue));

  kv->key = strdup(key);

  kv->value = value;

  return kv;

}

void deleteKeyValue(struct KeyValue *kv) {

  free(kv->key);

  free(kv);

}

void printKeyValue(struct KeyValue *kv) {

  printf("%s: %d\n", kv->key, kv->value);

}

int main() {

  struct KeyValue *kv1 = createKeyValue("apple", 5);

  struct KeyValue *kv2 = createKeyValue("banana", 3);

  printKeyValue(kv1);

  printKeyValue(kv2);

  deleteKeyValue(kv1);

  deleteKeyValue(kv2);

  return 0;

}

在上面的例子中,我们定义了一个KeyValue结构体,包含一个字符串类型的key和一个整数类型的value。其中createKeyValue函数用来创建新的键值对,输入参数为key和value,返回类型为struct KeyValue*。deleteKeyValue函数用来释放一个键值对,输入参数为struct KeyValue*类型。printKeyValue函数用来打印一个键值对,用于测试代码的正确性。

上述示例的3个

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复