指针2

来源:互联网 发布:python安装视频 编辑:程序博客网 时间:2024/06/05 19:12

6.&和* 都可以对变量表达式进行操作,比如数组int a[10],可以通过&a[5]获得a的第五个元素的地址,

又如int** a, *a是一个int*类型的变量,我们可以进一步**a获得类型是int的变量。

7.数组和指针的混合(C\C++)语法的bug

int* a[4] 这个类型可以看成(int*)[4]元素是int*类型,有个4个元素

int  (*a)[4]  这个其实是(int[4])*指向int[4]类型变量的指针

8.数组变量其实也是指针。int b[4];变量b在多数情况下就是一个const int*,指向数组b所占用的内存,也就是数组b的第一个元素,*b和b[0]是等价的,对于int *a ,我们可以直接用a = b的操作,让指向数组b。

9.指针加法,对int *a,可以进行a + N,a - N运算,a + 1指向a 指向元素的下一个元素,相应的a -1指向上一个元素。*(a+1)就对a指向的下一个元素进行重定向,等价于数组运算a[1].

10.对于int *a,*b; a - b获得的是a-b获得的是b到a之间相差多少个元素,类型是int。

int x[5];  int *a = &x[0];   *b = &x[3];   b - a的结果是3,a-b = -3。

0 0
原创粉丝点击