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修饰符总结

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

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

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

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

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

一、const修饰内置类型

const修饰符全面理解

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

细说使用const修饰符的好处

声明:以前只知道要多用const,却不知为什么。今天看我以前写的代码时,突然间领悟了添加const修饰符的好处妙处,加上以前的理解,在这里做一个总结。我们都知道const修饰符对对象所起的有如下作用:...

const修饰符总结

1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:) 2、为什么引入const?const 推出的初...

CONST修饰符的理解

目前在进行C语言补习时,发现很多的同学对于const这个关键字的理解存在很大的误解。现在总结下对这个关键字理解上的误区,希望在以后的编程中,能够灵活使用const这个关键字。1、 const修饰的变量...

C/C++中const修饰符的用法总结

在这篇文章中,我总结了一些C/C++语言中的 const 修饰符的常见用法,供大家参考。 const 的用法,也是技术性面试中常见的基础问题,希望能够帮大家梳理一下知识,给大家一点点帮助。作者是菜鸟一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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