全局常量 静态全局常量
#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变量是从静态存储区分配内存,在程序编译时就分配好了,在程序整个运行期间都存在。
浙公网安备 33010602011771号