全局常量 静态全局常量

#include <iostream>
usingnamespace std;

int a,b;//全局变量
static int a1,b1;//静态全局变量
const int a2=23;//全局常量
const static int a3=22;//静态全局常量
char*s3;
char*s="hello";//s是全局变量,"hello"在常量区
int main(void)
{
   
char*s1="world";
   
char*s2="hy";
   
const char c='a';tch=Co

可以看到,全局变量和静态全局变量是放在一起的,全局常量和静态全局常量是放在一起的,静态并不是影响地址的因素,只影响内部链接,外部链接属性。变量和常量地址差距很大,全局常量和常量区相差100个地址左右(16进制),不同机子结果可能不同,全局常量存放位置接近常量区,但不是放在常量区的

 

 

函数中用static关键字声明的局部变量在退出函数时仍然保持其值,下次调用该函数时,该变量拥有最后一次退出该函数时所拥有的值,只在第一次调用该函数时对它初始化。static变量是从静态存储区分配内存,在程序编译时就分配好了,在程序整个运行期间都存在。

posted @ 2012-03-14 21:40  springbarley  阅读(337)  评论(0)    收藏  举报