*(星号)间接寻址运算符,通过一个内存地址访问一个值(一种操作)。

&(数学逻辑符号:与/和):取地址运算符,获取一个值的内存地址(一种操作)。

直接寻址:直接通过变量名来获取变量的值,或直接用变量的地址来存储值,例如:

scanf("%d", &a);        // 把值通过a的地址直接存储到变量a里。

printf("%d", a);           // 直接通过变量名a获取a中的值。

间接寻址:变量a的内存地址存放在指针变量p中。先通过指针变量名p获取p中的地址数据,再通过这个地址数据访问a的值。

int a = 99;

int *p = &a;

所以:

指针变量名:

p:存放a的内存地址数据(16进制)。// 输出类型为%p,数字99在内存中存放位置的地址数据。

操作:

*p:获取指针变量p中存放的地址数据对应的存放位置(即a)的值。// 输出类型为%d,结果为99。

&p:获取指针变量p的内存地址数据。// 输出类型为%p,结果为16进制的8位地址。

&*p:首先通过p获取a的值,然后获取a的内存地址数据。// 输出类型为%p,与p的值相同。

**p:存放指针变量p的地址空间的地址。?

使用指针时的3条准则:

1、要清楚每个指针指向的位置,且必须指向一个有意义的位置。

2、要清楚每个指针指向的位置里的内容。

3、不要使用未初始化的指针变量。

C语言中p, *p, p, *p, **p的理解-初级相关推荐

  1. C语言中.h文件和.c文件如何理解?看完详细解析,小白也能懂!

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:        1.预处理阶段 2.词法与语法分析阶段        3.编译 ...

  2. c语言中cap捕捉函数,CAP理论的理解

    CAP理论的理解 CAP理论作为分布式系统的基础理论,它描述的是一个分布式系统在以下三个特性中: 一致性(Consistency) 可用性(Availability) 分区容错性(Partition ...

  3. C语言中的a++与++a的速记理解

    关于a++与++a理解时容易烦迷糊(未定义行为,undefined behavior), 但在用时只要避免复杂难懂的表达式时,基本上都不会出错.如果需要全部理解二者区别,需要读2者的汇编语言. 下面谈 ...

  4. C语言中(a<b<c)的理解

  5. c语言中b的作用是什么意思,C语言中是什么意思?ab怎么理解?

    C语言中&是什么意思?a&b怎么理解?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言中& ...

  6. c语言中struct和c++中class实例对比

    前言 实现游戏中简单的打怪升级的功能 c语言中的struct #include <stdio.h>typedef void(*Train)(struct player*, int); ty ...

  7. 关于C语言中printf函数“输出歧视”的问题

    目录 关于C语言中printf函数"输出歧视"的问题 问题描述 探索问题原因 另一种研究方法 问题结论 关于C语言中printf函数"输出歧视"的问题 问题描述 ...

  8. C语言中“野指针”、“悬空指针”是什么?

    目录 1."野指针"(wild pointer) 2."悬空指针"(dangling pointer) 1."野指针"(wild point ...

  9. c+语言+null,C/C++语言中NULL、'\0’和0的区别

    NULL.'\0'和0的值是一样的,都是0,不过它们的表现形式不一样: 1. NULL: 即空指针,不过在C和C++中并不一样.在VS 2013的库文件string.h中可以看到如果定义. 1 /* ...

最新文章

  1. JavaUtil_00_资源帖
  2. Codevs 1519 过路费(Mst+Lca)
  3. android 提示文字,EditText 不能显示提示文字Hint
  4. h5现实手机管理系统_webflash,后台管理系统
  5. adb安装apk报错Failure [INSTALL_FAILED_INVALID_URI]
  6. 浅谈V8引擎中的垃圾回收机制
  7. struts2 过滤器和拦截器的区别和使用
  8. 最通俗易懂的命名实体识别NER模型中的CRF层介绍
  9. moses 编译_MOSES安装以及使用说明
  10. PhoneGapjQuery Mobile应用开发环境配置(For Android)
  11. Find-Sec-Bugs 漏洞范例
  12. Pr 入门教程如何个性化“时间轴”面板?
  13. MySQL数据库命令(第二节)
  14. SE5_基于YOLO3D的目标检测算法移植与测试
  15. 软件工程--第十五周学习进度
  16. VS2005 安装SP1后,无法正常初始化(0xc0150004)的解决办法
  17. 连接已重置 原因和解决办法
  18. VSCode安装和Python安装及其配置
  19. RGBA 转 RGB
  20. 差异巨大 6款通用工业级ARM处理器性能测试对比

热门文章

  1. 单片机 并口 控制爱普生打印机开发流程记录
  2. 从0开始搞一个锦鲤游动——动起来
  3. java基于安卓Android微信小程序的音乐论坛uniAPP小程序
  4. python 英文关键词提取_python TF-IDF算法实现文本关键词提取
  5. 动态规划 -- 钢条切割问题
  6. 算法导论——钢条切割问题(C语言)
  7. ECDSA安全性证明
  8. 30 年的 Hello world
  9. ChatGPT 帮你写情人节文案
  10. 微信小程序项目-最常用网盘助手