const修饰符 const与指针

原创 2015年07月09日 13:58:39

    /*

        记忆技巧

            const  * 的位置

            如果 const  * 左侧 表示指针变量指向变量的值不能改变,但是指向可以改变

     

            如果 const  * 右侧 表示指针变量指向变量的值可以改变,但是指向不能改变

     

            如果 const 出现在 * 两侧 表示指针变量指向变量的值和指向都不能改变

     */


/*

    const 

        是一个类型修饰符

        使用const修饰变量则可以让变量的值不能改变

        常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。

 

    (1)   const int Max=100; int Array[Max];

 

    (2) 便于进行类型检查,如果被改变编译器会报错

 

    (3) 可以让保护的值 免于被修改

 

    (4) 可以节省空间  提高效率

     ...

 

    const的使用

        1) 修饰变量

            int a = 10

 

    

        2) 修饰指针变量

 

        3) 修饰数组

 */

void demo2(){

    int a= 5;

    int b=10;

    

    //此处的const的作用是指针变量p的指向可以改变,但是指向的变量的值不能改变的

    

    //1const修饰的指针变量指向可变,指向的变量的值不可变

    const int *p = &a; //p初始化

    p = &b;  //重新修改了p的指向

    // *P = 1000;  这样是错误的

    

    int const *p1 = &a;

    p1 = p;

    // *p1=100; 这样是错误的

    

    printf("a=%d\n",a);

    

    //2const修饰的指针变量,指针变量指向的变量值可以变,指向不能变

    int  * const p2 = &a;

    *p2 = 2000; //值可以改变

    // p2 = &b;  这样是错误的 p2的指向不能变

    

    //3const修饰的指针变量的指向和值,都不能改变

    const int * const p3=&a;

    // p3 = &b;  //指向不能变

    // *p3 = 100;//指向的变量的值也不能变

    

    


}

C++语言里const修饰符和指针前后位置的作用、区别详解

#include using namespace std; int main() {     int a=8;     int b=90;     int c=15;     const...

引用、指针与const修饰符总结

引用、指针与const修饰符总结
  • imak47
  • imak47
  • 2015年05月10日 22:51
  • 177

对char * const *(*next)(); char * (*c[10])(int **p)的理解从而引发的对函数指针的理解以及const修饰符的用法理解

首先来看下这两句代码: char * const *(*next)(); char * (*c[10])(int **p) 如果不是对函数指针有一定了解的人就会一头雾水,并不清楚这两句代码是什么意思,...

PHP 继承与实现比较 final和const修饰符说明

继承和实现接口的比较:  (1)可以认为 实现接口是对单一继承的补充.  (2)可以在不破坏类层级关系的前提下,对某个类功能扩展.  final关键字  1.如果我们希望某个类不被其它的类来继...

const修饰符可以把对象转变成常数…

const修饰符可以把对象转变成常数对象,什么意思呢?   意思就是说利用const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一样使用!   使用方法是: const int a=1...
  • JudyZLF
  • JudyZLF
  • 2016年10月11日 16:40
  • 184

CPP学习一const修饰符的使用注意

const修饰符,可以说是一种好的编程习惯必须有的关键字。能够起到权限限制的作用,能使得变量,结构体,类等等...在类中使用const尤其要注意。 比如下面的代码就是有问题的: class Coord...

c/c++ 基础(五) const修饰符

一、const修饰内置类型

const修饰符全面理解

const修饰符就是为了将变量声明为不可变的常量,使程序更加的健壮。 (1)为什么define应该用const enum inline来替代(effective C++): const常量有数据类...

C++语言笔记系列之一——const修饰符

1.输入输出流 cout cin>>a; 2.int x = 6;系统为x分配单元 #define x 6 系统不为x分配单元,x只是6的符号 3.const修饰符 (1)变量的const修饰 con...

C++函数前和函数后加const修饰符区别

c++中关于const的用法有很多,const既可以修饰变量,也可以函数,不同的环境下,是有不同的含义。今天来讲讲const加在函数前和函数后面的区别。比如: 01 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:const修饰符 const与指针
举报原因:
原因补充:

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