C中如何处理同名函数

How to deal with functions with same name in C

所以我有一个包含向量实现的头文件和源文件。我想用向量来实现一个堆。所以我意识到我希望我的函数特定于 class 所以我将每个函数声明为静态思想我可以做 Vector::get(int n, Vector::Vector* vector) 但显然: : 不是 C 中的运算符,而 static 只是使事情变得私有。任何人都可以帮助我理解如何进行正确的封装而不是命名我所有的 get 函数 Heap_get 或 Vector_get?

C++ 有命名空间和 class 说明符来区分类似的东西,但在 C 中,名称必须是唯一的。

为您的代码简单地使用(通常很短的)前缀是一个历史悠久的传统,希望您永远不必集成使用相同前缀的其他人的代码。

所以像 vecGet()heapCreate() 这样的名字 完全是 C 语言开发人员的做法。

现在您可以 polymorphism in C,但对于您尝试做的事情来说,这可能有点过头了。