目录
安装Hex Editor插件
查看内存地址必须在调试下进行
点击指针变量右侧图标,即可打开内存地址面板(右侧红框)
调整行字节展示数量
最后附一下我对指针地址的一些解释
安装Hex Editor插件
查看内存地址必须在调试下进行
执行调试走到return行
点击指针变量右侧图标,即可打开内存地址面板(右侧红框)
此时就可查看该地址内存空间的信息,这里该地址存放的是数字10,也就是十六进制0A,鼠标悬停在0A的地方可以看到十进制信息。
调整行字节展示数量
点击设置,我这里调整为4,比较便于观察
出现如下面板,修改为4即可
最后附一下我对指针地址的一些解释
/* * @Author: e-Hai.Zhang1 e-hai.zhang1@geely.com * @Date: 2023-10-12 15:38:43 * @LastEditors: e-Hai.Zhang1 e-hai.zhang1@geely.com * @LastEditTime: 2023-10-12 16:07:51 * @FilePath: \pi-webviz-portal\src\core\helper\demo.c * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */#include int main(){/*内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。指针变量的大小取决于地址的大小32位平台下地址是32个bit位(即4个字节)64位平台下地址是64个bit位(即8个字节)*/int a = 10; // 向内存申请4个字节,存储10 (num的地址是4个字节中的第一个字节)&a; // 取地址操作符/*将变量a的进制存入p,p就是指针变量,注意需要加 * *表示p是一个指针变量,int表示p指向的对象是int类型(a是int类型)指针又叫地址,而指针变量是存储指针(地址)的一个变量,指针变量就是用来存放地址的当将一个 int 变量的指针地址赋值给一个指针变量时,所赋值的是 int 变量中的第一个字节的地址。在大多数计算机系统中,指针的值表示的是所指向内存的起始地址。由于 int 变量占用4个字节,因此指针变量将保存 int 变量中第一个字节的地址*/int *p = &a;/*%p专门打印地址的000000b2131ffb74 十六进制表示的指针变量 000000b2131ffb74(变量a的内存起始编号,同指针,同地址),它表示的是一个内存地址。0A 00 00 00 是一个16进制的整数常量(即4个字节,每个字节都用16进制来表示),表示的改地址存储的数字是十进制的数值 10。*/printf("%p\n", p);/* *指针变量 解引用操作符,意思是通过p中存放的地址,找到p所指向的对象(等于10的a),*p就是p指向的对象,即 *p == a如下,a由原来的10变为了20*/*p = 20;printf("%d\n", a); // 20return 0;}
注:我这里多次指针地址不同,是多次调试造成的,因为每次调试变量申请的地址都是不固定的,仅供大家参考如何查看内存地址