const

常量修饰符

  在C中常用define定义变量,实际上这种方法是在预编译的时进行字符置换。

#define LIMIT 1000

  程序中全部出现LIMIT全部置换为1000.LIMIT不是变量,没有类型,不占用存储单位,而且容易出错。

 

  c++用const修饰符来定义常量

   const int LIMIT = 1000;

  这个常量LIMIT是有类型的,占用存储单位,有地址,可以用指针指向它,但不能修改它。

const与指针的组合

  (1)指向常量的指针,内容不可变,地址可变

const char*  name = "sjj"

  含义:声明一个名为name的指针变量,它指向一个字符型常量,初始化name为指向字符串“sjj”

  name[3]  = 'a';     x     //不可以改变指针所指的常量

  name = "zhang"    //可以改变指针所在的地址

  (2)常指针,把指针指向的地址声明为常量,地址不可变,内容不可变

char * const name = "chen"

 

     (3)指向常量的常指针,指针本身不能改变,他所指向地址中的数据也不能改变。

const char * const name = "chen"

   

posted @ 2020-03-01 15:51  天凉好个秋秋  阅读(166)  评论(0编辑  收藏  举报