当前位置: 首页 > article >正文

常量指针,指针常量,常量指针的指针常量

1,常量指针,即指向常量的指针。指针所指向的变量是个常量,这个常量不能被这个指针所改变
#include<stdio.h>

int main()
{   
    int i=1,j=5;
        const int* a = &i;
        a=&j;   //const int* a;是指a所指向的内存空间的值不能通过指针来 修改这个内存空间的值,
                //但可以指向别的内容空间 ,*a是一起的,那么用const来修饰,意思是a指向的内容不可变
    printf("%d\n",*a);
    
    //*a = 2;   //这样是错误的 
    return 0;
}

2,指针常量,指针本身是个常量。这个对象可以被这个指针改变,但是指针本身不能被改变。
     即: *p可以被修改,但是p的值不能修改。

#include<stdio.h>

int main()
{   
    int i=1,j=5;
        int* const a = &i;   //int* const a 与const int * a 刚好相反,它可以修改内存空间的值,
                             //但不能指向别的内存空间 
    //a = &j;                 //这句是错误的 
    printf("%d\n",*a+1);  //直接输出*a+1的值 
    return 0;
}

3,常量指针的指针常量,指针指向的对象不能被改变,其指向的也不能被改变
#include<stdio.h>

int main()
{   
    int i=1,j=5;
    int const  * const a = &i;    // 表示指向的内存空间的值不能修改,也不能指向别的内存空间 
    // *a = 10;   //这句是错误的 
    // a = &j;    //这句也是错误的 
    printf("%d\n",*a);  
    return 0;
}
http://www.lryc.cn/news/2417286.html

相关文章:

  • LabVIEW入门(基础篇)
  • 打开计算机用户策略,打开组策略,详细教您电脑组策略怎么打开
  • 斯坦福密码学-3-分组密码block_cipher
  • 正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-5 I.MX6U SoC介绍
  • 更新r语言_R语言可视化大观园(持续更新)
  • fiddler抓包及Proxifier配置代理
  • LaTeX 常用语法格式总结 列表计数、图、公式、表格、参考文献环境
  • STM32驱动 HTU21D温湿度传感器
  • 章文嵩将离职,曾是阿里开源“赶集人”,投身开源 20 年
  • Android开发之内容解析者ContentResolver
  • Windows电脑软件程序多开软件的简单介绍:
  • 狂学数据库之关系模式分解算法
  • JDBC方法参数详解 DriverManager,Statement,Connection,ResultSet,使用PreparedStatement对象来解决sql注入
  • mysql 多字段排序
  • C语言学习,fclose()函数分析
  • C++ 使用 tinyxml2 解析创建 xml
  • PowerManager详解
  • PCB Layout 拉线技巧
  • 批处理常用命令详解
  • 24小时计时器设计logisim_c++日期、时间和计时器
  • 我的javaweb学习笔记
  • 我的第一个网站“爱汉服”
  • 【测试用例设计方法】场景设计法(详解)
  • MyBatis-plus的IPage分页
  • Verilog学习笔记13:使用CPLD内部振荡器
  • WDL脚本实战(一)-工作流、程序体、语法检查、输入输出及运行
  • 视频压缩和分析方面数据集 Tencent Video Dataset (TVD)
  • jQuery 效果 ——fadeIn() 方法、fadeOut() 方法
  • request.setAttribute()和request.getSession().setAttribute()解释
  • 三大工厂模式(简单工厂、工厂方法、抽象工厂)