1
cosiner 2015-07-22 09:17:35 +08:00
文件作用域吧
|
2
hellogmh 2015-07-22 09:19:24 +08:00
跟static加在普通函数(C的普通函数,不是C++的类成员函数)一样,链接的时候不会被其他模块引用,限制了在文件作用域内。
|
3
ivito OP |
4
ivito OP |
5
kkwezard 2015-07-22 09:36:04 +08:00
static不属于一个结构体的声明。你应该先typedef一个结构之后在用static修饰它的定义。
|
6
kkwezard 2015-07-22 09:43:01 +08:00
用static修饰结构体定义是不对的。至少我这编译不通过的。
|
7
townboy 2015-07-22 09:55:50 +08:00
二楼说的很有道理
|
8
ivito OP @kkwezard 在VS下确实忽略了static修饰符,我提供的代码在《算法:C语言实现》这本书的英文版第27页,估计是作者的笔误。
|
9
kkwezard 2015-07-22 10:18:54 +08:00
@ivito vs貌似会忽略一些常见的错误。gcc下编译不通过。从字面上理解。用static修饰结构体的定义是没有意义的。实践中也不会这么用。个人拙见。
|
11
xylophone21 2015-07-22 10:31:08 +08:00
在.c里声明的结构体本身就无法被外部引用,所有二楼的说法应该是错误的。
注意:是结构体的声明,不是变量定义 |