本文主要记录C语言const、static关键字一些用法,备忘
const关键字
一、const
const限定一个变量不允许被改变,产生静态作用,主要功能将数据限制为只读。
1、修饰局部变量
const int a;
int const a;
上述两者效果相同,使定义的局部变量在函数内无法被改变,从而成为常量。
2、修饰指针变量
const int * a;
等效于const int (*a); 产生以下效果:
a++; //合法
(&a)++; //非法int * const a;
产生如下效果:
a++; //非法
(&a)++; //合法
另有const修饰函数参数和函数返回值,大体与上述相同。
二、static
注意:未赋值的static变量存储在Data段,未赋初值系统赋值为0,
1、static修饰局部变量
静态变量存在周期为整个源程序
2、虽然静态变量生命周期为整个源程序,但只能在其定义的函数内调用,在其他函数内不能调用。
3、未初始化静态变量系统自动初始化为0。