当前位置: 首页 > 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/a/161072.html

相关文章:

  • https网站 请求http图片报错:net::ERR_SSL_PROTOCOL_ERROR
  • VSCode可以安装最新版,并且可以对应Node 12和npm 6
  • 深入了解Git、GitHub、GitLab及其应用技巧
  • ES6模块、CommonJS、AMD等不同的模块化实现。
  • 爬虫如何解决短效代理被封的问题?
  • glide性能优化实战
  • 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系统,为什么还要开发预约挂号小程序?数据如何互通?