一、说到指针+1,通常会想到以下三种情况:
1、加一个字节
2、加一个数组
3、加一个单元格
1、首先讨论第一种情况,加一个字节。
由此可知,指针+1并不是加一个字节。
2、接下来讨论第二种情况,加一个数组。
但是我们考虑到,数组和数组相加没有意义,指针+1也不是加一个数组。
3、最后一种情况,加一个单元格。
指针加法(减法一样)需要调整(+1为加一个单元格),调整的权重为指针去掉一个星号,然后求sizeof。
int *p; p+1 → 加4字节 = sizeof (int)
int *p; p+1 → 加8字节 = sizeof (double)
char **p; p+1 → 加4字节 = sizeof (char*)
例如: