声明函数静态与不将其包含在标头之间有什么区别?

耐力

以下方案之间有什么区别?

// some_file.c
#include "some_file.h" // doesn't declare some_func

int some_func(int i) {
    return i * 5;
}
// ...

// some_file.c
#include "some_file.h" // doesn't declare some_func

static int some_func(int i) {
    return i * 5;
}
// ...

如果static对函数的所有操作都限制了它们对文件的可访问性,那么这两种情况都意味着some_func(int i)只能从头文件访问,some_file.c因为这两种情况都没有some_func(int i)放在头文件中?

索罗尼尔·海蒂尔

区别在于,使用非静态函数时,仍可以在其他转换单元中声明它(头文件与此无关)并被调用。静态功能根本无法从任何其他翻译单元中看到。

在另一个函数中声明一个函数甚至是合法的:

foo.c:
void foo()
{
  void bar();
  bar();
}

bar.c:
void bar()
{ ... }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将标头包含在静态声明中时会发生什么?

来自分类Dev

内容标头和标头之间有什么区别?

来自分类Dev

PHP静态方法-“静态函数”和“公共静态函数”之间有什么区别?

来自分类Dev

通过Javascript缓存与在Server中设置HTTPResponse标头之间有什么区别

来自分类Dev

IMAPMessage.getUID()和Message-ID标头之间有什么区别?

来自分类Dev

使用函数句柄创建创建函数和声明符号之间有什么区别?

来自分类Dev

函数式编程和声明式编程之间有什么区别?

来自分类Dev

马赫头和胖头之间有什么区别?

来自分类Dev

共享和静态之间有什么区别?

来自分类Dev

动态,静态和后期绑定之间有什么区别?

来自分类Dev

深层和浅层静态分析之间有什么区别?

来自分类Dev

Skype静态和动态之间有什么区别?

来自分类Dev

Skype静态和动态之间有什么区别?

来自分类Dev

共享和静态之间有什么区别?

来自分类Dev

声明性区域和范围之间有什么区别

来自分类Dev

“标准”和块包装声明之间有什么区别?

来自分类Dev

声明“ MyStuct a();”之间有什么区别?和“ MyStruct a;”?

来自分类Dev

这些通用声明之间有什么区别?

来自分类Dev

以下两个声明之间有什么区别?

来自分类Dev

这些在C中的数组声明之间有什么区别?

来自分类Dev

引发,尝试和声明之间有什么区别?

来自分类Dev

将类声明为静态与在app.xaml文件中创建实例之间有什么区别?

来自分类Dev

在.h文件中的类中声明静态变量和.cpp文件中的“全局”变量之间有什么区别?

来自分类Dev

在函数覆盖中,为什么我们不将其声明为静态

来自分类Dev

这两种函数声明有什么区别?

来自分类Dev

隐式声明的副本构造函数与隐式定义的副本构造函数之间有什么区别?

来自分类Dev

“包含的功能”和“依赖项”之间有什么区别?

来自分类Dev

在超类上声明最终静态变量与在扩展类上声明有什么区别?

来自分类Dev

在ggplot2中,ggplot函数和first geom函数中包含的美学映射之间有什么区别?

Related 相关文章

  1. 1

    将标头包含在静态声明中时会发生什么?

  2. 2

    内容标头和标头之间有什么区别?

  3. 3

    PHP静态方法-“静态函数”和“公共静态函数”之间有什么区别?

  4. 4

    通过Javascript缓存与在Server中设置HTTPResponse标头之间有什么区别

  5. 5

    IMAPMessage.getUID()和Message-ID标头之间有什么区别?

  6. 6

    使用函数句柄创建创建函数和声明符号之间有什么区别?

  7. 7

    函数式编程和声明式编程之间有什么区别?

  8. 8

    马赫头和胖头之间有什么区别?

  9. 9

    共享和静态之间有什么区别?

  10. 10

    动态,静态和后期绑定之间有什么区别?

  11. 11

    深层和浅层静态分析之间有什么区别?

  12. 12

    Skype静态和动态之间有什么区别?

  13. 13

    Skype静态和动态之间有什么区别?

  14. 14

    共享和静态之间有什么区别?

  15. 15

    声明性区域和范围之间有什么区别

  16. 16

    “标准”和块包装声明之间有什么区别?

  17. 17

    声明“ MyStuct a();”之间有什么区别?和“ MyStruct a;”?

  18. 18

    这些通用声明之间有什么区别?

  19. 19

    以下两个声明之间有什么区别?

  20. 20

    这些在C中的数组声明之间有什么区别?

  21. 21

    引发,尝试和声明之间有什么区别?

  22. 22

    将类声明为静态与在app.xaml文件中创建实例之间有什么区别?

  23. 23

    在.h文件中的类中声明静态变量和.cpp文件中的“全局”变量之间有什么区别?

  24. 24

    在函数覆盖中,为什么我们不将其声明为静态

  25. 25

    这两种函数声明有什么区别?

  26. 26

    隐式声明的副本构造函数与隐式定义的副本构造函数之间有什么区别?

  27. 27

    “包含的功能”和“依赖项”之间有什么区别?

  28. 28

    在超类上声明最终静态变量与在扩展类上声明有什么区别?

  29. 29

    在ggplot2中,ggplot函数和first geom函数中包含的美学映射之间有什么区别?

热门标签

归档