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

指针变量加1为什么地址加了4?

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
int main() {int a = 1;int* ptr;ptr = &a;printf("ptr is: %p\n", ptr);ptr++;printf("ptr+1 is: %p\n", ptr);return 0;
}

在上述代码中,首先定义了一个int类型的变量a,和一个int类型的指针ptr,然后将a的地址赋值给指针变量ptr
将地址ptr打印出来,然后打印ptr加1,看的的结果如下:
在这里插入图片描述

ptr is: 0000008C55EFF514
ptr+1 is: 0000008C55EFF518

我们执行了ptr++操作,但是地址却增加了4个字节,这是为什么呢?
这是因为指针变量执行ptr++操作时,由于这个数组是int类型,int的size是4 byte,所以地址加了4个字节。


可以将int类型改为char型来验证一下:
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>int main() {char a = 1;char* ptr;ptr = &a;printf("ptr is: %p\n", ptr);ptr++;printf("ptr+1 is: %p\n", ptr);return 0;
}

在这里插入图片描述

ptr is: 000000C5D8CFF634
ptr+1 is: 000000C5D8CFF635

相关文章:

  • Python01:初入Python(Mac)
  • 【计算机视觉(3)】
  • Docker 安装最新版MongoDB 限制内存 配置权限
  • 电影《朝云暮雨》观后感
  • SW 草图明显显示
  • C++---运算符重载
  • VUE3好看的酒网站模板源码
  • [猫头虎分享21天微信小程序基础入门教程]第13天:小程序的表单与用户输入处理
  • 9.6 Go语言入门(数组、切片和指针)
  • 深度学习之基于YOLOV5安全帽检测系统
  • k8s基础命令
  • 执行sql脚本——kettle开发03
  • 《深入解析:近邻算法的原理、实现与应用》
  • 自定义类型:结构体
  • 计算机精选期刊特辑
  • 自己简单写的 事件订阅机制
  • Akka系列(七):Actor持久化之Akka persistence
  • Angular2开发踩坑系列-生产环境编译
  • HashMap ConcurrentHashMap
  • If…else
  • js
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • ubuntu 下nginx安装 并支持https协议
  • Web Storage相关
  • Yeoman_Bower_Grunt
  • 对JS继承的一点思考
  • 番外篇1:在Windows环境下安装JDK
  • 飞驰在Mesos的涡轮引擎上
  • 好的网址,关于.net 4.0 ,vs 2010
  • MyCAT水平分库
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • # SpringBoot 如何让指定的Bean先加载
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $ git push -u origin master 推送到远程库出错
  • (c语言+数据结构链表)项目:贪吃蛇
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (二)Linux——Linux常用指令
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (论文阅读40-45)图像描述1
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (译)2019年前端性能优化清单 — 下篇
  • (原)Matlab的svmtrain和svmclassify
  • (转)一些感悟
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .Net程序帮助文档制作
  • .NET中分布式服务
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @JsonFormat与@DateTimeFormat注解的使用