本次博客来带大家了解指针±整数
文字抽象直接上图:

由上图可知,指针的相加减和指针类型有所关联,int*类型加减变化了四个字节,char*类型加减变化了一个字节,double*类型加减变化了八个字节。
结论:指针的类型决定了指针向前或者向后⾛⼀步有多⼤(距离)。
void*指针:
关于void*指针,可以把它理解为一个万能垃圾桶,什么类型的指针都可以往里存放,但是void*类型指针不能相加减,使用void*指针之前,最好把它强制类型转换(强转符号为()),不然·编译器报错或加减没有意义:

没强转会报错:

const修饰指针:
我们知道,一些变量被const修饰之后,会变得无法被更改,指针也是如此,但是,修饰的方法会有两种情况,直接上图:

一个是修饰int*类型,一个是修饰指针变量p,这两种修饰方法产生的结果会有不同

最直接的,看到报错信息我们可以知道,testp1函数指针进去的结果会让int*p修饰的n无法被修改,但也可以直接改n这不会有影响,对指针变量加减也没有影响
testp2函数指针进去会发现,const修饰的是p这个指针变量,所以导致p这个指针变量无法被改变,但是不会影响对指针p解引用之后对它修饰的值做改变。
希望我的文章会对读者有帮助,我以为会努力提高文章质量让文章更加通俗易懂。
314





