c语言 指针的偏移计算

简介: 指针可以进行加减运算,且只能进行加减计算,叫做指针偏移。今天我们就讲解一下什么是指针偏移。

前言


指针可以进行加减运算,且只能进行加减计算,叫做指针偏移。今天我们就讲解一下什么是指针偏移。


一、指针偏移的概述:


前面说指针的类型决定了指针的操作规则。

int *p1 指针 *p1 一次操作4字节空间,

float *p2 指针 *p2一次操作4字节空间,

double *p3 指针 *p3 一次操作8字节空间。

指针可以进行加减运算,且只能进行加减计算,叫做指针偏移。加减n ,实则加减 n 个类型大小。

如下:

p1+1 , 1为sizeof( int ) , 4

p2-2 , 2为sizeof( float ) , 8

p3+3 , 3为sizeof( double ) , 24


二、指针偏移的应用:


注:这里为了让大家更好的观察,我用了 %zd 来输出。


73ed6cb5e8f17971c384387edfe4455.png

同理:如果用了double 型的就会相差8个字节,也就是1个double 类型。

c044f1546d8e7d18e8bd40f382ac4d4.png


总结


这个知识点并不常用,大家可以稍微了解一下。

下节课讲解 数组指针。


相关文章
|
15天前
|
C语言
C语言指针带代码
C语言指针带代码
21 3
|
1天前
|
算法 Java 程序员
面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性
【6月更文挑战第15天】面向对象编程(OOP)通过对象组合构建软件,C语言虽是过程式语言,但可通过结构体、函数指针模拟OOP特性。封装可使用结构体封装数据和方法,如模拟矩形对象。继承则通过结构体嵌套实现静态继承。多态可通过函数指针模拟,但C不支持虚函数表,实现复杂。C语言能体现OOP思想,但不如C++、Java等语言原生支持。
12 7
|
1天前
|
C语言
【C语言基础】:深入理解指针(终篇)
【C语言基础】:深入理解指针(终篇)
|
1天前
|
存储 C语言 C++
【C语言基础】:深入理解指针(三)
【C语言基础】:深入理解指针(三)
|
1天前
|
安全 程序员 编译器
【C语言基础】:深入理解指针(二)
【C语言基础】:深入理解指针(二)
【C语言基础】:深入理解指针(二)
|
1天前
|
存储 编译器 C语言
【C语言基础】:深入理解指针(一)
【C语言基础】:深入理解指针(一)
|
2天前
|
C语言
C语言的灵魂---指针(进阶)
C语言的灵魂---指针(进阶)
|
2天前
|
C语言
|
2天前
|
存储 C语言
C语言的灵魂---指针(基础)
C语言的灵魂---指针(基础)
|
10天前
|
存储 C语言
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
13 2