相信多数学过C语言的小伙伴们都明白,在调用数组的时候,*a
和a[]
的作用是一致的——都是传入数组a[]的第0个元素的地址,即首地址。
如果需要获取数组中的第i个元素,我们也有两种方法:*(a+i)
或a[i]
,且有*(a+i) == a[i]
。
那么,当我们在一个n行m列的二维数组中调用第i行的元素时,我们可以用a[i]
来指代从a[i][0]
一直到a[i][m]
的所有元素的集合。
这个时候问题来了,我们既然可以通过数组下标来表示二维数组的一整行,那么,我们可不可以用指针来表示同样的内容呢?
首先定义字符串数组:
char ch[5][3] = {
{
'a'