c - 为什么C头文件中同名的函数声明和函数定义可以(来自redis源码)

标签 c redis

friend 们,在探索Redis的源代码时,在sds.h中,我看到重复的声明(定义)函数如下:

static inline size_t sdslen(const sds s) {
   struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr)));
   return sh->len;
}
size_t sdslen(const sds s);

为什么有两个sdslen没有报错?那有什么影响呢?

最佳答案

第二行是多余的。定义也是声明。您可以多次声明一个函数或对象,只要它们不冲突即可。

关于c - 为什么C头文件中同名的函数声明和函数定义可以(来自redis源码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22692870/

相关文章:

c - 从 C 中的文本文件中解析值

golang + redis 并发调度器性能问题

node.js - Docker:使用 docker run 而不是 docker-compose up 时无法连接到 Redis

c - C99有些句子看不懂

C程序等待执行SSH发送的命令

c - 在c中实现内存池

redis - 如何使用 ServiceStack Redis 添加对象

使用openwrt编译C程序

optimization - Lua中两个表的区别

shell - 使用 CLUSTER NODES 命令时仅提取 Redis 集群中特定节点的节点 ID