`
cheng330301560
  • 浏览: 179495 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

const修饰指针

 
阅读更多

const int *p; // p 可变,p 指向的对象不可变

int const *p; // p 可变,p 指向的对象不可变

int *const p; // p 不可变,p 指向的对象可变

const int *const p; //指针p p 指向的对象都不可变

在平时的授课中发现学生很难记住这几种情况。这里给出一个记忆和理解的方法:

先忽略类型名(编译器解析的时候也是忽略类型名),我们看const 离哪个近。“近水楼

台先得月”,离谁近就修饰谁

const int *p; //const 修饰*p,p 是指针,*p 是指针指向的对象,不可变

int const *p; //const修饰*p,p 是指针,*p 是指针指向的对象,不可变

int *const p; //const修饰pp 不可变,p 指向的对象const int *const p; //前一个const 修饰*p,后一个const 修饰p,指针p p 指向的对象

分享到:
评论

相关推荐

    CONST指针指针

    1. **const修饰指针本身** 当`const`修饰指针本身时,这意味着指针变量自身是不可变的,即不能改变指针指向的位置。例如: ```c const int a = 1; const int b = 2; int i = 3; int j = 4; int* const pi = &...

    cpp代码-const修饰指针

    在“cpp代码-const修饰指针”这个主题中,我们将深入探讨`const`如何与指针结合使用,以及这对程序设计的意义。 首先,`const`关键字可以修饰指针的两个方面:指向的数据(指针所指的对象)和指针本身。让我们分别...

    C++:浅谈修饰符const

    4. const修饰指针的不同情况:const可以用来修饰指针变量和指针指向的数据。例如,int const* a表示a是一个指向const int的指针,即不能通过a改变它所指向的数据。而int* const b表示b是一个const指针,它本身不能...

    函数指针和指针函数,const的用法,指针常量,常量指针的用法

    ### 函数指针和指针函数的区分及应用 #### 函数指针的理解与使用...通过以上介绍,我们可以看出函数指针和指针函数有着本质的区别,同时正确使用 `const` 可以帮助我们更好地控制程序的行为,提高程序的安全性和效率。

    C++中const用法全解

    如果 const 位于星号的左侧,则 const 就是用来修饰指针所指向的变量,即指针指向为常量;如果 const 位于星号的右侧,const 就是修饰指针本身,即指针本身是常量。 4. const 的初始化 const 变量的初始化有三种...

    c语言const的用法.pdf

    如果const修饰指针变量,表明指针本身的值不能被改变,即不能让指针指向另一个地址,但可以通过指针修改数据。 例如:int *const A; 表示A是一个指向整数的常量指针,可以修改A指向的值,但不能改变A的指向。 c....

    c++中const关键字使用详解

    当const修饰指针时,可以根据const的位置区分出不同的含义: - const位于星号左侧:修饰指针所指向的内容为常量。 ```cpp const int* a; // a指向的内容不可修改,即*a = 20是错误的 ``` - const位于星号右侧:...

    c语言const用法小结

    如果 const 位于星号的左侧,const 就是用来修饰指针所指向的变量,即指针指向为常量;如果 const 位于星号的右侧,const 就是修饰指针本身,即指针本身是常量。 4. const 的初始化 const 变量可以通过不同的方式...

    C++中的const限定修饰符

    `const`关键字与指针的结合使用可以有多种含义,具体取决于`const`的位置和所修饰的对象。以下是几种常见的情况: 1. **指针本身不可变**(指针指向的地址不可变): ```cpp int x = 10; const int *ptr1 = &x; ...

    Const 用法小结

    - 在`const`位于星号左侧时,`const`修饰指针所指向的变量;在右侧时,修饰指针本身。 4. **const 变量初始化**: - 非指针`const`常量初始化,如`const A a = b;` - 指针`const`常量初始化,如`const A* c = d;...

    c++里const用法归纳

    3. Const修饰指针的情况 Const也可以用来修饰指针,例如: int b = 500; const int* a = &b; // [1] int const *a = &b; // [2] int* const a = &b; // [3] const int* const a = &b; // [4] 这里,[1]和[2]的...

    使用const提高函数的健壮性

    例如,使用const修饰指针类型参数,可以防止函数意外改变指针指向的数据。当参数是通过指针传递给函数时,添加const修饰符可以避免函数内部通过指针修改参数所指向的数据,从而保护了数据的完整性。如果参数是通过值...

    const修饰类的成员函数

    ### const修饰类的成员函数 #### 一、概念与作用 在C++中,`const`关键字用于声明常量或指定变量不可修改。当我们提到`const`修饰类的成员函数时,主要是指该成员函数不会修改它所属于的对象的状态。这种机制有助...

    c语言const的用法程序设计语言.pdf

    2. const修饰指针变量的不同情况: - 指针本身是常量,指向的数据可变: ``` const int *A; ``` 这里`A`是一个指向整型常量的指针,意味着`A`不能被赋值为另一个地址,但可以通过指针修改它所指向的整型数据。 - ...

    深入理解const 与指针

    深入理解const与指针 一、可能的组合: 在 C 语言中,const 和指针的组合有很多种情况。下面列举 7 种可能的组合: 1. const char*p 2. char const*p 3. char *const p 4. const char p 5. char constp 6. char *...

    const,extern,static,volatile的使用

    - **const 修饰指针本身**:指向不可变数据的指针。 ```c++ int x = 10; int * const p = &x; // 指针 p 指向 x,但不能改变 p 指向的地址 ``` - **const 修饰指针所指向的数据**:只读数据的指针。 ```c++ ...

    extern,static以及const修饰变量的不同用法

    ### extern、static以及const修饰变量的不同用法 #### 一、概述 在C语言中,`extern`、`static` 和 `const` 是三个非常重要的关键字,它们在定义变量时起到不同的作用。本文将深入探讨这三个关键字分别在定义全局...

    const 与 指针

    在涉及指针的场景下,`const` 的用法变得更为复杂,因为它既可以用来修饰指针本身,也可以用来修饰指针所指向的对象。本文将详细讲解`const`与指针的关系,帮助读者理解这两种主要的用法。 1. 指向 const 对象的...

Global site tag (gtag.js) - Google Analytics