C语言:指针的运算

一、指针 + 或 - 整数

指针 + 或 - 整数表示指针跳过几个字节(具体跳过几个字节由指针类型决定)

本文不做具体讲解,详解跳转链接:

《C语言:指针类型的意义》
二、指针 - 指针

前提条件:指针类型相同并且指向同一块内存

指针 - 指针等于两个指针间元素的个数

(大指针 - 小指针结果为正,小指针 - 大指针结果为负)

详解代码如下:

指针p1指向1,指针p2指向10,10和1之间有9个元素(包含1,但不包含10)

故:p2 - p1 结果为9

p1 - p2 结果为-9

cpp 复制代码
int main()
{
    int nums[10] = { 1,2,3,4,5,6,7,8,9,10 };
    int* p1 = nums;//指向1
    int* p2 = &nums[9];//指向10

    printf("%d\n", p2 - p1);
    printf("%d\n", p1 - p2);
    return 0;
}

三、指针比较

C语言规定:允许数组元素指针和最后一个元素的后一个位置指针比较,不允许数组元素指针和第一个元素的前一个位置指针比较。(通俗来讲就是:允许数组元素向后越界比较,不允许向前越界比较)

相关推荐
Byte Wizard6 小时前
自定义类型:联合和枚举
c语言·开发语言
搬砖的小码农_Sky6 小时前
macOS Sequoia上如何安装gcc/g++环境?
c语言·c++·macos
Das16 小时前
【408】C语言标识符
c语言·开发语言
weixin_456808387 小时前
【沁恒蓝牙开发】主机-筛选广播名主动发起连接
c语言·嵌入式硬件
格发许可优化管理系统7 小时前
解决Mentor许可冲突,让您的业务无缝运行
运维·服务器·c语言·c++·人工智能
LONGZETECH7 小时前
Unity 3D+C/S架构无人机数字孪生实训室:破解实训“三高”难题的底层技术实现
c语言·开发语言·3d·unity·架构·无人机
cjhbachelor7 小时前
C/C++内存管理
c语言·开发语言·c++
枕星而眠20 小时前
数据结构八大排序详解(一):四大简单排序
c语言·数据结构·c++·后端
努力努力再努力wz21 小时前
【Qt入门系列】:按钮组件全解析:从 QAbstractButton 到快捷键事件、单选与复选机制
c语言·开发语言·数据结构·c++·git·qt·github
老花眼猫1 天前
数学艺术图案画-曼陀罗单色版(4)
c语言·经验分享·青少年编程·课程设计