ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

c语言--指针运算

2026/8/7 16:29:11 拓冰建站 浏览量
c语言--指针运算

目录

  • 一、指针+-整数
  • 二、指针-指针
    • 2.1条件
    • 2.2两个指针指向同一块空间代码
      • 2.2.1运行结果
    • 2.3两个指针指向不同块空间代码
      • 2.3.1运行结果
    • 2.4总结
  • 三、指针的关系运算
    • 3.1代码
      • 3.1.1运行结果
      • 3.1.2分析

一、指针±整数

用数组举例:
因为数组在内存中是连续存放的,只要知道第⼀个元素的地址,顺藤摸瓜就能找到后面的所有元素。
在这里插入图片描述
代码:

#include<stdio.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int* p = &arr[0];int sz = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < sz; i++){printf("%d ", *(p + i));//指针+整数}return 0;
}

运行结果:
在这里插入图片描述
分析:
在这里插入图片描述

二、指针-指针

指针-指针得到的是两个指针之间的绝对值等于元素个数

2.1条件

指针减指针的计算前提条件一定是:两个指针指向了同一块空间。

2.2两个指针指向同一块空间代码

#include<stdio.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };printf("%d ", &arr[9]-&arr[0]);//指向同一块空间return 0;
}

2.2.1运行结果

在这里插入图片描述

2.3两个指针指向不同块空间代码

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

2.3.1运行结果

在这里插入图片描述

2.4总结

在使用指针-指针的时候要注意在同一块空间。

三、指针的关系运算

指针和指针比较大小

3.1代码

#include<stdio.h>
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int sz = sizeof(arr) / sizeof(arr[0]);int* p = arr;//&arr[0]---->>数组名等于起始地址的大小while (p < arr + sz){printf("%d ", *p);p++;}return 0;
}

3.1.1运行结果

在这里插入图片描述

3.1.2分析

在这里插入图片描述
在这里插入图片描述

欧耶!!!!我学会啦!!!!