对于下面两个变量:
int *p = new int[10];
int q[10];
在watch窗口中查看有不同的效果,查看p的时候可以看到一个地址,展开+号只能看p[0]的值;查看q的时候也可以看到一个地址,但是展开+号可以看q[0]-q[9]的值。相比之下q的查看方式比p要方便多了。那么有没有办法以q的方式查看p呢,这就是本文要介绍的一个调试技巧。
首先我们需要写如下两行代码:
typedef int inta[10];
inta *_int;
然后在watch窗口敲入一行:_int=p
再然后在watch窗口敲入一行:_int[0]
展开_int[0]的那个+号,哇!显示的是_int[0]—_int[9]的值。而这些值正好就是p[0]—p[9]的值。再敲入_int[1]并展开看看,正好是p[10]—p[19]的值。这样借助一个全局变量,和调试的时候给这个全局变量赋值,我们就可以用数组的方式查看一个指针了。
在文章的最后,我推荐在你的工程里加入一个temp.cpp,这个cpp的内容大致如下:
typedef char chara[10];
chara *_char;
typedef short shorta[10];
shora *_short;
typedef int inta[10];
inta *_int
typedef float floata[10];
floata *_float;
typedef double doublea[10];
doublea *_double;
……
这样你就可以在调试的时候以数组的方式查看各种类型的数据了,对比在memory窗口看那些天文数字的十六进制数据实在是方便多了。

调试技巧:如何以数组的方式查看一个指针相关推荐

  1. 前端学习(1758):前端调试值之快速以编辑状态查看一个站点的所有资源

  2. 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  3. xcode开发html5工具,5个Xcode开发调试技巧

    1.Enable NSZombie Objects(开启僵尸对象) Enable NSZombie Objects可能是整个Xcode开发环境中最有用的调试技巧.这个技巧非常非常容易追踪到重复释放的问 ...

  4. (转)5个Xcode开发调试技巧

    1.Enable NSZombie Objects(开启僵尸对象) Enable NSZombie Objects可能是整个Xcode开发环境中最有用的调试技巧.这个技巧非常非常容易追踪到重复释放的问 ...

  5. iOS调试技巧-断点调试

    Condational Breakpoints(条件断点) 普通断点只要执行到断点所在行就会停止程序,但是有时候我们想当满足一定条件时才停止程序.这个调试技巧在当你想要捕获一个循环中的变量的特定值或者 ...

  6. C语言基础---指针数组----初始化方式常量指针数组、指针常量数组

    文章目录 1.方式一:变量的地址放入数组中 2.方式二:字符赋值 3.方式三:字符串赋值 4.为什么指针不能修改字符串.可以修改字符数组?? 5.常量指针数组----三点注意 6.指针常量数组---- ...

  7. c语言怎样统计数组的长度,C语言指针难吗?纸老虎而已,纯干货讲解

    原标题:C语言指针难吗?纸老虎而已,纯干货讲解 指针对于C来说太重要.然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等方方面面的基本知识.所以本文尽可能的通过一篇文 ...

  8. c c++ 函数内数组初值_C/C++函数指针与指针函数

    关于指针,前面文章C语言指针详解有过介绍,这里主要讨论函数指针和指针函数. 1 什么是指针? 定义:指针是程序数据在内存中的地址,而指针变量是用来保存这些地址的变量; 上面一个 4GB 的内存可以存放 ...

  9. 二维数组(解引用、指针数组、数组的指针)——C语言

    二维数组 在说二维数组前先来说下一维数组中的指针数组和和数组的指针 一.一维数组中指针数组和数组指针的区别 指针数组: 1 int *p[5]; []的优先级比*高,首先它是一个数组,它的大小是5,它 ...

最新文章

  1. Python:PDB文件中原子和残基重新编号
  2. 使用 Flex 布局与其他普通布局的简单对比
  3. php中$GLOBALS
  4. 事物运动的状态和方式是谁提出的_金属材料在电磁场中的行为方式及其与光电效应的关系分析...
  5. 大剑无锋之后台运行程序并输出日志到某文件【面试推荐】
  6. java word转pdf linux_Linux平台中使用PHP把word转pdf的实现方法
  7. 聚合函数查询 group by having
  8. python日志保存为html文件,用 Python 抓取公号文章保存成 HTML
  9. java语言数组实现栈的操作_基于自定义的动态数组实现一个栈(Java语言)
  10. PAT 乙级 1031. 查验身份证(15) Java版
  11. linux环境中nagios(nagios core)安装?nagios安装?
  12. Leetcode-403-青蛙过河(DFS+备忘录)
  13. 最优化理论与凸优化到底是干嘛的?
  14. 五路循迹传感器的优点_用五路循迹传感器做循迹
  15. css 关于元素选中时会显示蓝色背景
  16. 华硕fl8000u是什么型号_华硕FL8000UN值得买吗?华硕FL8000UN笔记本全面深度评测+拆解图...
  17. 2022-2027年中国城市公共汽车客运行业发展前景及投资战略咨询报告
  18. 发送手机短信验证码-后端、前端(验证码倒计时)
  19. C语言基本语法——循环篇(三种常见的循环)
  20. Documentum常见问题4—如何通过vlink方式直接查看文档内容【转】

热门文章

  1. 【Cocos Creator 实战教程(4)】——黄金矿工(上)(节点动作、碰撞体相关)
  2. 计算机科学与技术3d仿真设计,三维仿真
  3. 3年半工作经验女程序员,聊聊程序员的薪水、工作内容和发展前景
  4. 美国人日常生活中常用的五星级句子
  5. 【PPic】基于Electron+Vue+iView的图床应用设计
  6. 服务器有必要更新主板芯片组吗,芯片组驱动要不要更新_芯片组驱动卸载了会怎么样...
  7. Alink漫谈(十) :线性回归实现 之 数据预处理
  8. 知识巩固源码落实之3:缓冲区ringbuffer
  9. Java程序员:快来像我这样做,3天辞退不是梦
  10. 孟岩:通证经济设计的七个原则,八个陷阱和十一个模板