一.再日常使用C语言的时候,我们会用到数组,指针。这里就会牵扯到指针以及指针的解引用和加一能力的问题。
1.普通指针的加一能力
cppint a=0; int *p=&a; cout<<*(p+1);
在指针p加一后,因为变量a是int型,所以在加一之后就到a变量紧挨着内存的后四个字节的位置,因为此处我们没有对其进行初始化,所以每次都会是随机数,大家可以试试。
2.在一维数组内的加一能力
和第一种情况一样,如果存在越界的话,也会是随机数。
3.二维数组指针的加一能力
cppint a[2][5]={1,2,3,4,5,6,7,8,9,10}; cout<<**(a+1)<<endl;
此时我们对a加一的话,a指针此时是指向一维数组的指针,所以每次加一都是加一整个一维数组,此时就到了6的位置。
对于二维数组不熟悉的宝宝可以去这里┗|`O′|┛ 嗷~~,这个博主讲的很不错C语言二维数组指针(指向二维数组的指针)详解 (biancheng.net)