问题是关于简单的c /questions/tagged/c函数,不c++ /questions/tagged/c%2b%2b static
方法,如评论中所阐明。
我明白什么是static
变量是,但是什么是astatic
功能?
为什么如果我声明一个函数,比方说void print_matrix
,比方说a.c
(没有a.h
)并包括"a.c"
- 我明白了"print_matrix@@....) already defined in a.obj"
,但是如果我将其声明为static void print_matrix
然后它编译?
UPDATE只是为了澄清事情 - 我知道包括.c
正如你们许多人指出的那样,这很糟糕。我这样做只是为了暂时清理空间main.c
直到我更好地了解如何将所有这些功能分组为适当的.h
and .c
文件。只是一个临时的、快速的解决方案。
static
函数是仅对同一文件中的其他函数可见的函数(更准确地说相同翻译单位 http://en.wikipedia.org/wiki/Translation_unit_%28programming%29).
EDIT:对于那些认为问题的作者意味着“类方法”的人:正如问题被标记的那样C
他的意思是一个普通的老式 C 函数。对于 (C++/Java/...) 类方法,static
意味着可以在类本身上调用此方法,无需该类的实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)