[C语言 - 2] C语言变量
A.变量的作用域:
1.局部变量:在函数或者代码块内部定义的变量
作用域:从定义处到代码块结束
生命周期:从定义处分配控件,代码块结束后被回收
局部变量没有默认值,要自己初始化
2.全局变量:在函数外定义的变量
作用域:从定义处到文件结尾(能被后面的所有函数共享)
生命周期:程序启动分配空间,程序退出回收
全局变量有默认值0
从最近的作用域开始寻找,直到找到变量
#include <stdio.h> int main(int argc, const char * argv[]) { int a = 100; { int a = 200; printf("a = %d\n", a); } printf("a = %d\n", a); return 0; }
out:
a = 200
a = 100
a = 100
适合地使用块,能够提高性能,及时回收内存
块内定义的变量执行过后就会被回收
B. C语言变量的内存分析
C语言寻址由大到小
1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 int a = 100; 5 int b = 200; 6 7 printf("The address of a is %d\n", &a); 8 printf("The address of b is %d\n", &b); 9 10 return 0; 11 }
out:
The address of a is 1606416268
The address of b is 1606416264
The address of b is 1606416264
—》相差4个字节,由大到小
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。
电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗?
求知若饥,虚心若愚。
当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。