1.指向指针的指针:多级指针

详解指针C(5)
这两条语句一样吗
详解指针C(5)
详解指针C(5)
所以这两条语句是一样的。

详解指针C(5)
详解指针C(5)
可以发现*(p1+0)p[0]等价。
详解指针C(5)
总结
// ( * )p == ( * )(p+0) == p[0]==*(p+i)=p[i]
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)
详解指针C(5)

2.指向数组的指针:数组指针

int * arr【5】:这个本质是一个数组,只不过每一个元素存储的是地址而已。
int (*px)【5】:这个本质是一个指针。
赋值: px=(int ( * )[5])10;
int (*px)[5],我们可以这样理解 定义了一个带( * )的变量px。
详解指针C(5)
那么这里的变量px与( * )px表示的值是一样的吗?
详解指针C(5)
我们发现它们打印的值是一样的,说明px与( * )px里面存储的值是一样的。
虽然他们存储的值是一样的,但是它们两个的类型是不一样的。
px可以看作是一个二级指针,( * )px可以看作是一个一级指针。
详解指针C(5)

相关文章: