判断关键字 static 与 const 的作用

在C语言中:

一:const

1、const修饰的变量,限定为只读,只有读的权限,不能修改,但还是一个变量。

        也就是说:一般只要使用const修饰变量,都要完成变量的初始化(定义时赋值)。

        const只在编译的时候起作用,运行的时候不起作用。

2、const修饰局部变量,储存在栈的空间中。

3、const修饰全局变量,在只读的存储区中来分配存储空间

4、const修饰指针时,指针变量不允许修改,不可分配为其他变量的地址,但可以修改指向空间的值。

        例:int * const p = &a;  // p是指针变量,不可修改

                p = &a;

                *p = 20;  //可以修改指向空间的值

二:static

1、static是静态数据类型,表示把数据存储在数据段中的静态区(也叫全局区)。

2、static修饰的静态变量值初始化一次,未初始化的静态变量默认初始化为0。

3、static 修饰全局变量,全局变量只能在本文件中使用。

4、static 修饰局部变量,只在定义的作用域可见,变量的生命周期随整个程序结束才结束。

5、static 修饰局部变量和全局6变量的区别在于可见性,局部变量只在其被声明的代码块中可见。

6、static 修饰函数,函数只能在本文件中使用。

在C++中:

由于C++在C语言基础上发展而来,所以C++包含了C的部分,额外增加了部分特性。

C++中的独有功能:

const:

1、const 修饰类中的成员变量,成员变量的值不可修改。

编译时,如果有以下的情况,会为常量分配空间:

①对const 常量使用了extern 和 取地址符号 &,这种情况下,虽会分配空间,但不会使用存储在这个空间的值。

2、const 修饰成员函数,成员函数中的任何成员变量也不可修改。

3、const 修饰类对象,这个对象不能修改,能访问const修饰的成员函数。

static:

1、在c++中,修饰变量时,作用是为实现数据共享,不创建对象也可使用。

2、静态成员变量必须在类的外面进行初始化,只用初始化一次。

        初始化格式: 数据类型  类名 :: 静态变量名

        访问: 对象名  静态变量名

3、修饰静态成员函数时,函数属于整个类,没有隐含的this指针,只能访问这个静态函数中的静态变量。

                     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值