Linux C语言:指针的运算

作者 : admin 本文共623个字,预计阅读时间需要2分钟 发布时间: 2024-06-11 共1人阅读

一、指针的算术运算

1、指针运算

  • 指针运算是以指针所存放的地址作为运算量而进行的
  • 指针运算的实质就是地址的计算 

2、指针的算数运算 

        指针加上整数,指针减去整数, 指针递增,指针递减和两个指针相减。
 Linux C语言:指针的运算插图

        指针加减一个n的运算: px + n px – n

        移动步长是指针的目标

Linux C语言:指针的运算插图(1) 

3、注意:

  • 不同数据类型的两个指针实行加减整数运算是无意义的
  • px+n表示的实际位置的地址量是:(px) + sizeof(px的类型) * n
  • px-n表示的实际位置的地址量是: (px) – sizeof(px的类型) * n 

 4、两指针相减运算

  • px-py 运算的结果是两指针指向的地址位置之间相隔数据的个数
  • 两指针相减的结果值不是地址量,而是一个整数值,表示两指针之间相隔数据的个数。

 二、指针的算术运算—自增自减

1、运算符的优先进 

Linux C语言:指针的运算插图(2) 

 2、后置运算符

Linux C语言:指针的运算插图(3)

三、指针的算术运算应用 

大小端模式-电脑存储模式 :

1)C语言中除了8bit的char之外,还有16bit的short型,32bit的int型,对于位数大于 8位的处理器,必然存在如何将多个字节排序的问题。

2)大小端指的是在存储器中,存放数据的字节顺序

  • 小端模式,是指数据的低字节保存在内存的低地址中
  • 大端模式,是指数据的低字节保存在内存的高地址中

Linux C语言:指针的运算插图(4) 

四、指针的关系运算 

Linux C语言:指针的运算插图(5) 

  • 两指针之间的关系运算表示它们指向的地址位置之间的关系。指向地址大的指针大于指向地址小的指针。
  • 但可以和零进行等于或不等于的关系运算,判断指针是否为空。 
本站无任何商业行为
个人在线分享 » Linux C语言:指针的运算
E-->