当前位置: 首页 > news >正文

C语言:指针类型的意义

1.指针的类型决定了解引用时访问几个字节

2.指针的类型决定了指针+1、-1跳过几个字节

一、指针的类型决定指针解引用时访问几个字节

例如 int 型指针解引用时访问4个字节

        char 型指针解引用时访问1个字节

 

详解代码如下:

int b = 0x11223344(十六进制,小端存储,实际内存中存放顺序为:44 33 22 11)

p1指针为 int 型,取 b 的地址时可以取到4个字节,44 33 22 11全部取完,结果为0x11223344(十进制为287454020)

p2指针为 char 型,取 b 的地址时只能渠道1个字节,44(十六进制),结果为0x44(十进制为68)

int main()
{int b = 0x11223344;//44 33 22 11int* p1 = &b;char* p2 = &b;printf("%d\n", *p1);printf("%d\n", *p2);return 0;
}

 二、指针的类型决定指针 +1 或  -1 跳过几个字节

例如 int 型指针 +1/-1 跳过4个字节

        char 型指针 +1/-1 跳过1个字节

 

详解代码如下:

指针 p1 是 int 型,p1+1跳过4个字节,初始时指向 0x11223344,跳过4个字节后指向 2,所以 *(p1+1)结果为2

指针 p2 是 char 型,p2+1跳过1个字节,初始时指向 44,跳过1个字节或指向 33,所以       *(p2+1)结果是 0x33(十进制为51)

int main()
{int nums[5] = { 0x11223344,2,3,4,5 };int* p1 = nums;char* p2 = nums;printf("%d\n", *(p1 + 1));printf("%d\n", *(p2 + 1));return 0;
}

 

http://www.lryc.cn/news/145453.html

相关文章:

  • 如何将 PDF 转换为 Word:前 5 个应用程序
  • AP5192 DC-DC降压恒流LED汽车头灯摩托车电动车大灯电源驱动
  • Python Opencv实践 - Canny边缘检测
  • Python编程练习与解答 练习119:低于和高于平均水平
  • vue中的nextTick的作用
  • 如何通过四个步骤清理网络防火墙规则
  • 打开谷歌浏览器远程调试功能
  • ChatGPT时代的我的博客
  • 同步有关的思考。
  • Flutter Web 项目网络请求报 XMLHttpRequest error 解决方案
  • Python面试:什么是GIL
  • idea --Git Commit Template插件
  • 使用Python脚本添加新的相关节点到arxml文件中的指定位置
  • iOS开发Swift-闭包
  • 从零开始学JAVA——常用类
  • LeetCode 面试题 02.04. 分割链表
  • 基于大语言模型知识问答应用落地实践 – 知识库构建(下)
  • Hive UDF自定义函数上线速记
  • 【nacos】【sentinel】【gateway】docker-compose安装及web项目部署
  • 用idea查看sqlite数据库idea sqlite
  • 流媒体服务器与视频服务器有什么区别?
  • 03-基础例程3
  • Vue结合ElementUi修改<el-table>表格的背景颜色和表头样式
  • git clone与git pull区别
  • MyBatis学习简要
  • forlium 笔记 Map
  • 解读亚马逊云科技语义搜图检索方案
  • git基本使用
  • 为C# Console应用化个妆
  • VUE环境下 CSS3+JS 实现发牌 翻牌