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

C语言——指针的运算

1、指针 + - 整数

#include<stdio.h>
#define N_VALUES 5
int main()
{flout values[N_VALUES];flout *vp;for(vp=&values[0];vp<&values[N_VALUES];)  //指针的关系运算{*vp++=0; //指针+整数}
}


2、指针 - 指针

#include<stdio.h>
int main()
{int arr[10]={1,2,3,4,5,6,7,8,9,10}printf("%d\n",&arr[9] - &arr[0]);return 0;
}

指针 - 指针得到的是两个指针之间的元素个数

前提——两个指针指向同一快空间

3、指针的关系运算

for(vp = &values[N_VALUES];vp > &values[0];)
{*--vp = 0;
}

简化:

for(vp = &values[N_VALUES-1];vp > &values[0];vp--)
{*vp = 0;
}

实际在绝大部分编译器上事可以顺利完成的,然而我们还是避免这样写,因为标准不保证可行

标准规定:

        允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许于指向第一个元素之间的那个内存位置的指针进行比较。

相关文章:

  • 怎样挖掘客户的需求?有哪些方法?
  • C语言内存函数讲解
  • C语言二叉树的基本概念(一)
  • 【OpenCV】计算机视觉图像处理基础知识
  • 校园外卖小程序源码系统 附带完整的搭建教程
  • 超简单,NodeJs发送短信验证码的4种方式+例子
  • 【开题报告】基于SpringBoot的自闭症知识宣传平台的设计与实现
  • 无公网IP环境Windows系统使用VNC远程连接Deepin桌面
  • PHP使用HTTP代码示例模板
  • 医院有HIS系统,为什么还要开发预约挂号小程序?数据如何互通?
  • springboot数据格式验证——自定义日期格式验证及list验证
  • js vue 输入正确手机号/邮箱后,激活“发送验证码”按钮
  • springboot 在自定义注解中注入bean,解决注入bean为null的问题
  • mac M系列芯片安装chatGLM3-6b模型
  • 软件测试外包干了2个月,技术进步2年。。。
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • CentOS6 编译安装 redis-3.2.3
  • emacs初体验
  • Javascript Math对象和Date对象常用方法详解
  • JS函数式编程 数组部分风格 ES6版
  • JS专题之继承
  • Laravel Telescope:优雅的应用调试工具
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • php面试题 汇集2
  • SpiderData 2019年2月13日 DApp数据排行榜
  • tweak 支持第三方库
  • 基于遗传算法的优化问题求解
  • 聊聊redis的数据结构的应用
  • 小程序测试方案初探
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • "无招胜有招"nbsp;史上最全的互…
  • # 飞书APP集成平台-数字化落地
  • $().each和$.each的区别
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (转)memcache、redis缓存
  • (转载)利用webkit抓取动态网页和链接
  • .apk文件,IIS不支持下载解决
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)
  • .net快速开发框架源码分享
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • []sim300 GPRS数据收发程序
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作
  • [C#基础]说说lock到底锁谁?
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日