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

声明:个人所写所有博客均为自己在学习中的记录与感想,或为在学习中总结他人学习成果,但因本人才疏学浅,如果大家在阅读过程中发现错误,欢迎大家指正。

更多请见网址http://blog.csdn.net/angel_94/article/details/50652011,个人原因博客园更新较CSDN慢

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

以下是个人理解

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

比如:下面这两种初始化即为隐式初始化

int F1; //初始化为0 
string F2; //初始化为null

下面这两种初始化为显式初始化

int F3 = 25; //初始化为25 
string F4 = "abcd"; //初始化为“abcd”

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

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

posted @ 2016-03-07 17:38  小码虫  阅读(802)  评论(0编辑  收藏  举报