学了这么久C语言,基本上把所有常见的变量类型都见过一遍了,为了避免变量知识杂糅到一起,也是为了更加清晰的理解关于变量,在这里做个总结。
首先是内存区域,分别为:
1、栈:局部变量,函数调用,不大(1M),系统自行管理,例如int a,b;
2、堆:动态内存,很大(>1G),程序自行管理,容易内存泄漏,例如malloc(100);
3、全局变量区:全局变量,静态变量
4、代码段
如下图所示:
变量大致又可以分为:
1、全局变量:定义在函数外部的变量
2、局部变量:定义在函数内部的变量,变量的值可以改变
3、static(静态):主要用于修辞变量和函数
老师上课的讲解比较细,给我们总结了一张表,我把这张表做了下路,供以后复习时参考
关于链接属性这方面,所谓外部的就是就是别的项目里也可以使用的变量,当然也就可以修改变量的值,所以这也是为什么我们常说的全局变量不安全的原因。