了解C语言指针的重要性
指针是C语言中的一个重要概念,也是C语言的一个重要特色,它可以使C程序简洁、紧凑和高效。对于学习和使用C语言的人来说,深入掌握指针是至关重要的。没有掌握指针,就可以说没有真正掌握C语言的精髓。
理解指针引用二维数组
讲解C语言指针中最难搞清的"指针引用二维数组",我们以一个二维数组a[3][3]为例:
0行首地址
数组名代表数组的首地址,因此a就是二维数组的首地址,也是二维数组的0行首地址。同时,二维数组也可以看作一个一维数组a[0]、a[1]、a[2];每个一维数组中嵌套一个一维数组a[0]、a[1]、a[2],所以a[0]就是0行首地址。
1行首地址
a[1]就是1行首地址,与0行首地址的理解相同。
0行0列元素地址
a[0][0]可以表示为amp;a[0][0],a[0],*(a 0),*a。
第一个amp;a[0][0]是最容易理解的,学习数组时就是用这种方法表示的。0行元素是a[0][0]、a[0][1]、a[0][2],a[0]相当于行数组的数组名,表示行数组的首地址,即0行0列地址。*(a 0)和*a是完全一样的,只不过为了更清楚地表现指针的移动性质而使用不同的方式。a是0行首地址,*a访问的就是0行0列地址。
1行0列元素地址
将上述0行换成1行,可以得到a[1][0]、a[1]、*(a 1)。
2行2列元素地址
a[2][2]可以表示为amp;a[2][2],a[2] 2,*(a 2) 2。
a[2] 3、a[2]是2行0列地址,这里忘了说一个重要概念,指针就是地址,地址就是指针。关于指针的移动,可以直接使用加减操作符来让指针移动。a[2] 2就是2行2列地址,这是下标法的表示方式。如果用指针法表示,就是*(a 2) 2。
2行2列元素值
对于2行2列元素地址的间接访问,可以表示为*(a[2] 2)、(a 2) 2。直接访问就是a[2][2]。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。