C语言-指针与16进制

createh51个月前 (03-31)技术教程19


①规则

16进制

1、2、3、4、5、6、7、8、9、

10用A表示、11用B表示、12用C表示、13用D表示、14用E表达、15用F表达、

16进位。

②例子

#include< studio.h>

main()

{

int a[10]={1,2,3,4,5,6,7,8,9,0},*p=a;

p=a;

/*p表示a[0]的地址194,而不是a[0]的值1*/

printf("%x\n",p);

/*%x表示16进制*/

printf("%x\n",p+9);

}

若1个int变量占2字节, 输出p=194,

则p+9=1A6

~

③计算过程

p为指向数组a首地址的指针,

p+9为指针向右移动9个存储空间,

每个存储空间为1个int变量(2字节),

即指针向右移动9×2=18个字节,

18转化为16进制,16+2转化为12,

9个存储空间→18个字节→12(16进制)

p=194

p+9=194+12=1(10)6=1A6

注意此处

p+9为指针移动9个物理地址,

而不是p+9=194+9=19(13)=19D

相关文章

PLC编程必看!5种常见进制数解析,搞懂才能玩转PLC!

今天咱们聊聊PLC编程中那些“神秘”的进制数——二进制、十进制、十六进制…是不是一听就头大?别慌!看完这篇,保证你从“懵逼”变“大神”!1.二进制(Binary)●定义:仅由 0 和 1 组成的进制,...

C语言转义字符

字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字...

资深的程序员都是这样排查Java问题的,附工具单

摘要: 平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日...

Java问题排查工具单

Linux命令类tail最常用的tail -ftail -300f shopbase.log #倒数300行并进入实时监听文件写入模式grepgrep forest f.txt #文件查找grep f...

十六进制转换器:在线转换数字格式

在图形开发的广阔天地中,数值转换是一项基础而关键的任务。无论是编程、电子设计还是数据分析,准确无误的数值转换都是确保项目成功的关键。然而,传统的转换方法往往繁琐且易出错,这正是我们开发十六进制转换...