c - C中的所有函数都是全局的吗?

标签 c ansi-c global-functions

是否有可能无法从其他文件访问 ANSI C 中的函数?功能如何以及何时限制访问?起初我认为如果一个函数不包含在任何标题中,它就是私有(private)的。 But it doesn't seem to be the case .

最佳答案

Are all functions in c global?



不。一方面,许多人(草率地)调用全局,C 语言调用具有外部链接的文件范围。

此外,即使在翻译单元(“预处理 C 文件”的一种奇特方式)中,函数标识符也仅从其声明到翻译单元(甚至封闭 block )的末尾可见(在范围内)。

要给函数标识符提供内部链接(因此另一个同名的函数或对象可以存在于不同的对象文件中),您可以使用 static关键词。

关于c - C中的所有函数都是全局的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60932140/

相关文章:

C 矩阵乘法动态分配矩阵

arrays - 如何使用 C 函数修改数组

c - Lua的 "global"本地值存储在哪里?

c - 打印字符数组时 Valgrind 读取大小为 8 的内容无效

c - 为什么使用 "%s"格式说明符 printf 一个字符数组会在数组中的最后一个字符之后输出额外的无意义值?

c - 删除二叉搜索树中的节点会引发错误

c++ - libusb: error [submit_bulk_transfer] submiturb failed error -1 errno=2 - 我对 LibUSB 做错了什么?

c - C : are they jagged? 中的多维数组