[英]static function declaration inside a block
应用于函数时static
意味着该函数具有内部链接 。 即它只能在此文件中访问。 换句话说,它具有文件范围 。 无论您是在另一个函数内部还是在所有函数之外声明函数,此链接都适用。
现在,如果将static
关键字应用于另一个块/函数内的函数声明 ,从语义上讲 ,您试图将函数的范围限制为该特定的块/函数,这违反了声明static
函数的语言规则,不论其声明地点如何,均应有档案范围。
因此,标准可能会禁止这样的声明。
PS :最新C11标准6.2.3
中的脚注30
只有当函数声明位于文件范围时,它才能包含存储类说明符static ;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.