定义变量的误区:
1.连续定义变量
像图中一样定义,预期结果是a = 0,b = 0;但是实际结果却不一样。这是因为定义连续变量的方法不对。
应该改成 int a = 0,b = 0;
至于图中a的值为什么是16.请接着往下看
对于上图的解释:
1.对于全局变量和静态变量(在函数内部定义的静态变量和在函数外部定义的全局变量),它们的默认初始值为零。
2.局部变量(在函数内部定义的非静态变量)不会自动初始化为默认值,它们的初始值是未定义的(包含垃圾值)。
3.关于静态变量就是加了static关键字的。C语言中——静态(static)只有两个作用
1.延长生存周期 2.限制生存范围
且对于所修饰的变量,函数,这两个作用只会有一种生效。
这里在多说一句静态全局变量和静态局部变量没有关联,即
全局变量 --- 静态全局变量(静态使全局变量的作用范围变小了,对生存时间没有影响)
局部变量 --- 静态局部变量(静态使局部变量的生存时间变长了,对生存范围没有影响)
才有比较性。
如内容有错,还望指正,感谢!!!