0、先上总结

  • 指针是什么?指针是个数据类型。你可以定义一个指针变量,它里面存储的是个地址

    • int a=3;,定义了一个int类型的变量a,值为3,它在内存中的地址为&a
    • 同理,int *b=3;,定义了一个int*类型的变量b,值为3,它在内存中的地址为&b
    • 进一步,int *c=&a;,定义了一个int*类型的变量c,值为&a,它在内存中的地址为&c
    • 指针占多大内存空间?
      • 指针变量占用的内存空间大小根据所使用的操作系统及编译环境而定
      • 一般而言,计算机是几位,则指针大小就是几位,如我用的是64位,则指针就占64位(8字节)空间
  • 指针常量是个常量,该常量的值是一个指针类型的值!它不能被修改
    • 它可以指向一个变量,此时可以通过它修改变量的值
    • 它可以指向一个常量,此时不可以通过它修改变量的值
  • 常量指针是个指针。它指向一个常量,不能通过它求出修改那个常量。(指针是变量,它是个指针,故它的值可以被修改)!
    • 它可以指向一个变量,此时不可以通过它修改变量的值

      • 但可通过变量本身修改变量的值
    • 它可以指向一个常量,此时不可以通过它修改变量的值

1、指针常量

指针常量声明格式(做题时看到*放在const的前面即可判定)

int a;
//指针常量声明格式
int *const p = &a; //*放在const的前面(左侧)
//记忆:看“指针常量”这四个字,指针在常量前面,故*放在const的前面
int arr[10];//数组名arr就是一个指针常量

指针常量是一个指针类型的常量,上面的p是一个指向int类型的指针,p不可以被赋值、修改(因为它是常量)

数组名就是一个指针常量

2、常量指针

常量指针声明格式(做题时看到const放在*的前面即可判定)

int a;
//指针常量声明格式
const int * p = &a; //const放在*的前面(左侧)
//记忆:看“常量指针”这四个字,常量在指针前面,故const放在*的前面

最新文章

  1. Java--正则表达式-简单的在字符串中找数字
  2. Dynamics AX 2012 R3 仓库和运输管理系列 - 仓库管理模块安装与配置
  3. PHP文件操作系统----主要的文件操作函数
  4. Ubuntu安装后的一些配置
  5. mssql 容易掉进的坑
  6. xmlBean学习二
  7. dede导航设置成单页面内容
  8. [Locked] Alien Dictionary
  9. webapp之路--理解viewport的使用
  10. [转载] python利用psutil遍历进程名字和exe所在目录
  11. Binary Space Partitioning
  12. 自学Zabbix3.12.4-动作Action-Operation配置
  13. python5-10 检查用户名
  14. 服务注册发现consul之一:consul介绍、安装、及功能介绍
  15. [World Final 2016] Branch Assignment
  16. linux - 文件拆分
  17. angular学习笔记(十五)-module里的'服务'
  18. 网络协议之socks---子网和公网的穿透
  19. bzoj1610 / P2665 [USACO08FEB]连线游戏Game of Lines
  20. idea 引入多项目

热门文章

  1. ModuleNotFoundError:No module named 'past' 问题及解决方法
  2. C++ MFC学习 (六)
  3. S-HR常用源码
  4. unzip--离线安装
  5. Qt ui_xxx.h no file or directory
  6. SpringBoot 自定义启动的logo(即banner)
  7. netmiko批量操作网络设备_pandas版
  8. 初涉gulp
  9. SpringBoot-集成PageHelper及使用
  10. 简单的关键词查找实验(基于C语言)