const和volatile以及引用

原创 2018年04月15日 09:48:13

const

定义:修饰一个变量,表示不能在作为赋值的左值。
c中:
(1)const修饰的变量不一定要初始化。
(2)const修饰的变量变为常变量。
(3)不能作为常量使用,例如定义数组的大小。
(4)常变量的编译方式和普通变量没有区别。
c++中:
(1)const修饰的变量必须初始化。
(2)const修饰的变量变为常量。
(3)可定义数组的大小(完全可以当作常量使用)。
(4)常量的编译方式,在编译的过程中,把常量名字替换成值(取常量地址时,不需要替换)。
(5)若初始值是变量,那么c++中的常量,变为c的常变量。

const和一级指针的结合?

保证const安全:代码上不能有直接或间接的修改常量值的可能。

const和多级指针的结合?

是共存亡的关系(即要么等号两边都有const 要么都没有)。

引用以及const和引用的结合

左边有类型,叫引用;没类型叫,取地址。
引用:更安全的指针。
1.变量定义时,名字左边有&符号,就是定义了一个引用变量。
2.引用必须初始化,指针不需要。
3.引用定义时,引用了哪块内存,就不能改变了也不能在引用其它内存块。
4.在c++99中只能定义一级引用,不能出现多级引用(c++11中有二级引用)。
5.使用引用变量,永远访问的是它所引用的内存(不能访问4字节的指针内存)。

引用成功必须满足以下条件:

1.引用必须初始化。
2.初始化的值能取地址:
普通的引用变量蹦引用常量,必须是常引用才或const指针能引用或指向常量;

const, volatile同时修饰一个变量

const, volatile同时修饰一个变量
  • ShenJu_DL_ShengHuo
  • ShenJu_DL_ShengHuo
  • 2015-09-06 11:57:15
  • 2531

Static,Const,Volatile面试解答

Static 关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持...
  • loveyou426
  • loveyou426
  • 2012-08-23 18:04:25
  • 2977

C/C++ 中& * const与 const * 以及volatile的使用

1) &的使用 a)作为取址运算符,运用在一个对象上,返回对象的地址。运用在赋值语句的右侧,或者指针变量初始化表达式中。b)引用的声明,在类型名称与所声明的引用名称的中间。 2) * const ...
  • kanchuan1905
  • kanchuan1905
  • 2016-12-30 15:48:49
  • 153

volatile和const

const和volatile放在一起的意义在于: (1)本程序段中不能对a作修改,任何修改都是非法的,或者至少是粗心,编译器应该报错,防止这种粗心; (2)另一个程序段则完全有可能修改,因此编译器最好...
  • qq306013411
  • qq306013411
  • 2012-09-24 15:33:29
  • 3128

c语言学习笔记(3)const和volatile以及const volatile int i=0分析

摘要: 分析了const和volatile的意义,const修饰数组,指针,函数参数和返回值的用法,最后解释了const volatile int i=0这个问题。 一、const修饰变量的...
  • Deep_l_zh
  • Deep_l_zh
  • 2015-09-22 12:22:48
  • 1457

C语言中关键字const、static、volatile的用法分析

1. const 作为一个程序员,我们看到关键字const时,首先想到的应该是:只读。因为,它要求其所修饰的对象为常量,不可对其修改和二次赋值操作(不能作为左值出现)。看几个例子: ...
  • yayawy
  • yayawy
  • 2016-05-16 16:07:48
  • 4811

const、static、extern、volatile的用法详解

1、const的用法 为什么使用const? 解答:因为(1) 采用符号常量写出的代码更容易维护;(2) 指针常常是边读边移动,而不是边写边移动;(3) 许多函数参数是只读不写的。 ...
  • stsw2046
  • stsw2046
  • 2012-09-27 16:57:09
  • 2677

const volatile int i=10

这是C语言深度剖析里面的一个问题P35。 在网上查了下,感觉讲得不够简洁。这里我来小结一下: const修饰的是只读变量,变量在初始化被赋了初值就不能被改变,就是 readonly变量了。 vala...
  • computerme
  • computerme
  • 2015-08-20 10:19:37
  • 1768

const与volatile关键字的用法

const最主要的特点就是只读,有常量、常量指针,如果不是特别小心的分析C语言语句的书写格式,再加上指针的使用,就特别容易弄错。 volatile关键字是一个类型修饰符,用它声明的类型变量表示可...
  • wevsa
  • wevsa
  • 2014-05-12 16:37:25
  • 994

关于C++一些关键字的用法和比较

  • 2011年06月18日 14:59
  • 123KB
  • 下载
收藏助手
不良信息举报
您举报文章:const和volatile以及引用
举报原因:
原因补充:

(最多只允许输入30个字)