程序编辑后包括:代码,只读数据,可读可写数据 程序运行时还有栈 字符串一般存储在只读数据区钟,程序代码指向地址 外部变量存储在可读可写数据区钟 静态变量不管在函数外申请还是函数内申请都存储在可读可写数据区钟 和外部变量的区别是,一般静态标量要求初始化值为0
最难理解的是局域变量,局域变量存储在栈中,调用一个函数时,栈以当前空余位置开始开辟一定得空间来存储这个函数的局域变量,在函数完成后,栈收回这些空间。局域变量就不存在了。再调用另外的函数时就有可能覆盖前一个函数的数据。所以局域变量可以将局域变量地址向下传供调用的函数使用它的变量,但是被调用的函数不能把它的局域变量地址传给调用函数使用。
稍微说了那么一点。。如果你了解一下汇编语言就什么都知道了
|