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

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;
}

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

标准规定:

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


http://www.kler.cn/news/161072.html

相关文章:

  • LLM(五)| Gemini:谷歌发布碾压GPT-4最强原生多模态,语言理解能力首次超过人类
  • Java API接口强势对接:构建高效稳定的系统集成方案
  • java-HashMap、TreeMap、LinkedHashMap、ArrayList、LinkedList使用笔记
  • 什么是https 加密协议?https证书安装部署
  • 微信小程序复制功能
  • 如何通过内网穿透实现无公网IP也能远程访问内网的宝塔面板
  • C# WPF上位机开发(抽奖软件)
  • 【云原生系列】Kubernetes知识点
  • Python-字典详解
  • 一个简单的参数帮助框架,c实现
  • Android 架构实战MVI进阶
  • Vue3的watch函数中,第三个参数配置对象详细分析
  • uniapp横向滚动示例
  • JavaSE语法之五:数组的定义与使用(超详解!!!)
  • Android12之MediaCodec硬编解码调试手段(四十九)
  • python基于ModBusTCP服务端的业务实现特定的client
  • 反钓鱼防盗号,共筑校园安全防线!Coremail出席CERNET学术年会
  • 案例054:基于微信的追星小程序
  • 代码随想录算法训练营第四十二天 _ 动态规划_01背包问题、416.分割等和子集。
  • 医院有HIS系统,为什么还要开发预约挂号小程序?数据如何互通?
  • 前端笔记(三)CSS 盒子模型
  • ★538. 把二叉搜索树转换为累加树
  • PHP使用HTTP代码示例模板
  • gpt3、gpt2与gpt1区别
  • 深入理解 Java 虚拟机(JVM)从入门到精通
  • 使用GPT-4V解决Pycharm设置问题
  • 西工大计算机学院计算机系统基础实验一(函数编写11~14)
  • Java程序员,你掌握了多线程吗?
  • 【运维面试100问】(七)ceph基础题面试
  • 「神印王座」萝莉女神小六打劫,白送10万功勋点,王原原恋人登场