目录
一、const的使用
1.const修饰局部变量
2.const修饰全局变量
3.修饰全局变量和局部变量的区别
二、static
1.static修饰全局变量
2.static修饰局部变量
一、const
1.const修饰局部变量
例:const修饰普通变量和指针变量含义
//创建一个变量a,修改a的值可以通过两种方式
//1.直接赋值 2.通过指针进行赋值
const int a = 2;//变量a不能通过第一种方式修改,但可以通过第二种方式修改
int* p = &a;
*p = 3;
//
int a = 2;
const int* p = &a;//变量a不能通过第二种方式修改,但可以通过第一种方式修改
a = 3;
//
const int a = 2;//变量a不能通过直接赋值修改
const int* p = &a;//变量a不能通过指针修改,而不是指指针p不能修改
2.const修饰全局变量
const修饰全局变量两种方式都不可修改
3.修饰全局变量和局部变量的区别
const修饰的全局变量存在全局区
const修饰的局部变量存在栈区
二、static
1.static修饰局部变量
static修饰局部变量改变局部变量的存储位置,存入全局区,不会被销毁
void test()
{
static int a=1;
a++;
}
int main()
{
for(int i=0;i<10;i++)
{
void test();
}
return 0;
}
static修饰的局部变量a出函数不会销毁,所以循环后a的值为11
不用static修饰局部变量a出函数会销毁,所以循环后a的值为2
2.static修饰全局变量
static修饰的全局变量只在所在的源文件中可以被使用