关于编程语言中的显式\隐式初始化

来源:互联网 发布:js 自定义属性 data 编辑:程序博客网 时间:2024/06/06 08:44

以前学习C时一直没有注意过显式初始化与隐式初始化这两个概念,最近开始学习C#时,在《C#图解教程》一书中第4.4节中注意到还有显式和隐式字段初始化的概念,这本书后来也多次提到此事。

以下是个人理解

分配空间给变量,赋予初值即为初始化。初始化值必须是编译时可确定的。如果没有初始化语句,字段的值会被编译器设为默认值,默认值由字段的类型决定。

比如:下面这两种初始化即为隐式初始化
int F1; //初始化为0
string F2; //初始化为null

下面这两种初始化为显式初始化
int F3 = 25; //初始化为25
string F4 = "abcd"; //初始化为“abcd”

显式初始化即为手工给予初值,否则为隐式初始化,将内容设置为默认值。

自动变量在运行时进入函数的时候,才进行分配空间赋值。非自动变量会自隐式清零,而自动变量是不会自隐式清零的。若没有在定义变量时显式初始化,未赋值前,该变量的内容是不确定值。

0 0
原创粉丝点击