相关疑难解决方法(0)

静态变量初始化?

我想知道为什么C,C++和Java中的静态变量默认初零归零?为什么局部变量不是这样呢?

c c++ java static-initialization

10
推荐指数
2
解决办法
8535
查看次数

static关键字是否会影响范围?

在C89中,static关键字是否影响范围?

我的软件负责人告诉我:

"在文件顶部标记为static的变量在技术上不再具有全局范围.静态是范围限定符以及存储关键字.范围是一个涵盖符号可见性的概念,尽管可见性自动编译为具有存储持续时间本质上与几乎所有语言相关.我的意思是你不能命名一个范围,它也没有定义C/C++中的存储持续时间.表达式范围不是用户定义的,而是由C/C++涵盖的-param和r-param块作用域在C/C++中完全是词汇用户定义的主体函数作用域在C/C++中完全是词汇用户定义的主体和声明文件作用域在技术上并不存在于C/C++中,因为全局和模块作用域取决于词典模块范围是在C/C++中使用static定义的关键字,其他范围词典更改访问规则但可见性仍然基于模块全局范围是C/C++中的默认值,当没有其他范围适用且由词法控制时e xtern关键字问题是static不是作为关键字的范围限定符.它是范围限定符和内存关键字."

我糊涂了.我一直认为静态与翻译单元之间的可见性和变量的存储持续时间有关.两者都与范围无关.这不是这种情况吗?C++中的静态/范围关系是否不同?

c c++ static scope global

6
推荐指数
1
解决办法
697
查看次数

标签 统计

c ×2

c++ ×2

global ×1

java ×1

scope ×1

static ×1

static-initialization ×1