• C语言中的指针常量的常量指针


    指针常量和常量指针是C/C++编程语言中两个重要的概念,它们都与指针有关,但具有不同的含义和用途。

    1. 指针常量(Pointer to Constant)

    指针常量指的是一个指针的值(即它所指向的地址)在初始化之后不能再被改变,但是它所指向的内容是可以被修改的。其声明形式通常如下:

    const int *p;

    这里,p 是一个指向整数的指针,但它是一个常量指针。也就是说,你不能改变 p 所指向的地址,但你可以改变 p 所指向地址上的内容。例如:

    1. const int x = 10;  
    2. const int *p = &x;  

    // 下面的代码是合法的,因为p指向的内容可以被修改  
    // 但实际上由于x也是常量,所以这里会报错  

    *p = 20;  

     下面的代码是非法的,因为p是一个指针常量,它的值(即它所指向的地址)不能被改变  

     p = &y; // 假设y是另一个整数变量

    2. 常量指针(Constant Pointer)

    常量指针指的是一个指针所指向的内容在初始化之后不能再被改变,但是指针本身的值(即它所指向的地址)是可以被修改的。其声明形式通常如下:

    int *const p;

    这里,p 是一个指向整数的常量指针。也就是说,你不能改变 p 所指向地址上的内容,但你可以改变 p 所指向的地址。例如:

    1. int x = 10;  
    2. int y = 20;  
    3. int *const p = &x;  
    1. // 下面的代码是非法的,因为p是一个常量指针,它所指向的内容不能被修改  
    2. // *p = 30;  
    3.   
    4. // 下面的代码是合法的,因为p的值(即它所指向的地址)可以被改变  
    5. // p = &y; // 将p指向y的地址

     指针常量是一个指向常量的指针,其值(地址)不能被改变,但其所指向的内容可以被改变(除非所指向的内容本身也是常量)。常量指针是一个指向变量的常量指针,其所指向的内容不能被改变,但其值(地址)可以被改变。理解这两个概念的关键在于区分“指针的值”和“指针所指向的值”。指针的值就是指针所存储的地址,而指针所指向的值则是该地址上的内容。在编程中,正确理解和使用这两个概念可以避免许多常见的错误。

  • 相关阅读:
    Kafka 生产者和消费者实例
    ML之shap:分析基于shap库生成的力图、鸟瞰图、散点图等可视化图的坐标与内容详解之详细攻略
    线性代数的一些知识点
    MAC 如何解决GitHub下载速度慢的问题
    nodejs篇 内置模块path 常用api
    数据结构和算法笔记1:滑动窗口
    Linux笔记-3
    C++并发编程
    C/C++整数和与均值 2019年9月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析
    阿里笔试——北京阿里笔试题总结
  • 原文地址:https://blog.csdn.net/m0_59091453/article/details/138200671