数组指针和指针数组

数组指针和指针数组

定义:

数组指针:数组指针可以看作数组的指针,首先明确它是一个指针,指针中放着一个数组的首元素地址。

 

指针数组:指针数组可以看作指针的数组,首先明确它是一个数组,这个数组中放着的元素都是指针。

 

使用:

数组指针:

我们定义一个3*4的二维数组,因为按照行优先原则,我们依次放入1->12:

 

下面我们将这个二维数组传参给定义的数组指针:

  

这里arr是个二维数组的数组名,相当于一个二级指针常量。

p是一个指针变量,它指向包含4个int元素的一维数组。

*(p+i)是一维数组arr[i][0]的地址

*(p+2)+3是一维数组的arr[2][3]地址

*(*(p+2)+3)表示arr[2][3]的值

 

现在我们输出1行2列,2行3列,3行4列的值试一试:

代码如下:

 

这里我们把第二个分析一下:

 

指针数组:

我们定义一个指针数组

 

这里的arr作为数组名,也为这个指针数组首元素的地址

arr[i]=*(arr+i)

 

现在我们输出这4个字符串常量:

 

 

因为arr[i]=*(arr+i)

所以:

 

 

现在我们将数组指针和指针数组结合来看

同样处理一个问题:输出自己的名字 QUAN WU DI

数组指针:

 

指针数组:

 

 

我们可以看到 数组指针和指针数组各自处理问题的方法,在某些方面它们其实是相通的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值