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

指针的运算

指针的运算

1.指针+-整数

#define N_VALUES 5
float values[N_VALUES];
float* vp;
//指针+-整数:指针的关系运算
int main() {
    for (vp = &values[0]; vp < &values[N_VALUES];) {
        *vp++ = 0;//指针每自增一次,就是指向下一个元素的地址
    }
    return 0;
}


2.指针-指针

//(指针-指针)得到的是指针和指针之间的元素个数
//!!!不是所有的指针都能相减,指向同一块空间的2个指针才能相减
int my_strlen(char* str)//这是一个用指针实现的求字符串长度的函数
{
    char* start = str;
    while (*str != '\0') {
        str++;
    }
    return (str - start);
}
int main() {
    int len = my_strlen("abcdefg");
    printf("%d\n", len);
    return 0;
}


3.指针的关系运算

//其实就是指针的大小比较,不过标准规定还是要注意一下滴

for (vp = &values[N_VALUES]; vp >= &values[0]; vp--)
{
    *vp = 0;
}
//实际在绝大部分的编译器上是可以顺利完成任务的
//,然而我们还是应该避免这样写,因为标准并不保证它可行。

//标准规定:
//允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,
//但是不允许与指向第一个元素之前的那个内存位置的指针进行比较

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

相关文章:

  • 记录一次QT乱码问题
  • 怎么提升搜狗网站排名
  • 搜索经典题——填充 9*9矩阵
  • Vue待办事项(组件,模块化)
  • Vue中的组件
  • svg矢量图标在wpf中的使用
  • 如何在云端加速缓存构建
  • JavaWeb-Cookie与Session
  • ZABBIX根据IP列表,主机描述,或IP子网批量创建主机的维护任务
  • PMIS_ENT_STD
  • 32 登录页组件
  • Docker(一)简介和基本概念:什么是 Docker?用它会带来什么样的好处?
  • 【Linux】进程的概念 进程状态 进程优先级
  • Go语言热重载和优雅地关闭程序
  • Python实现两个列表相加的方法汇总
  • debian12.4配置
  • linux切换root用户su - root和su root的区别
  • SQL Server Management Studio创建数据表
  • 【AI的未来 - AI Agent系列】【MetaGPT】4.1 细说我在ActionNode实战中踩的那些坑
  • Android学习(五):常用控件
  • 基于YOLOv8的学生课堂行为检测,引入BRA注意力和Shape IoU改进提升检测能力
  • 【前后端分离与不分离的区别】
  • ubuntu-20.04.6-live-server-amd64安装教程-完整版
  • C for Graphic:Sliced Circle Image
  • 入门级的 DataV 教程,适用于 Vue 2
  • JVM工作原理与实战(二十一):内存管理
  • Win10 打开文件突然鼠标变成一个蓝色大圈卡住点不了也打不开文件,重启电脑也是这样
  • 论文阅读笔记AI篇 —— Transformer模型理论+实战 (四)
  • Template -- Vue2
  • zookeeper window 安装