一、指针的运算
(1)指针与整数的加减运算
在C语言初级阶段,我们需要了解使用指针指向数组元素后,那么如果我们加上或减去一个整数a,表示把指针指的当 前位置(指向某数组元素)向前或向后移动a个元素的位置。
我们看一段代码
Int * p = &arr_num[0];
p = p + 4;
printf(“%d”, *p );
将数组指针指向数组arr_num那么当我们加4四个后其实就是向后移动四个位置。
int * p = &arr_num[5];
p = p - 2 ;
printf(“%d”, *p );
(2)指针的增量运算
在C语言中我们需要知道指向数组元素指针变量的值是可以改变。如n++是合法的,使得n指 向下一个数组元素。而c++是非法的,因为c是数组的首地址,并且c也是一个常量。
我们接下来看一段代码:
int *p,arr_num[8];
p = &arr_num[0];
p++;
当一个类型为 int 的指针开始移动, 那么 sizeof(int)为移动单位。
#include <stdio.h>
void main()
{
int data[] = {5, 10, 15, 20, 25};
int i = 0;
int *ptr;
ptr = data;
while(i < 5)
{
printf(“\n 第%d 个元素的存储地址为:%x,值为: %d\n“,i+1, ptr, *ptr);
i++;
ptr++;
}
}