详谈数组指针,浅谈指针数组

什么是数组指针,什么是指针数组,咋一听这两个名词是有点混淆,其实很好区分。只要关注最后两个字就行了。数组指针就是指针,指针数组就是数组,下面会详细介绍两者的含义这里就不坐过多解释了。

 

浅谈指针数组:指针数组,顾名思义,本质就是数组,其中的每一个元素都是指针类型。

例如,定义一个数组arr[5]={&a,&b,&c,&d,&e}。

简而言之就是数组里面装的都是装着地址的变量即指针。

数组指针 :

其实说起来也很简单,本质是一个指针变量,保存数组的起始地址。

数据指针的语法:

每个元素的型(*p)[元素个数]

int     (*p)[8]                        :这就表示p是一个指针变量,保存8个元素,每个元素是整型的数组的起始地址。

#include<stdio.h>
int main()
{
    int a[10];
    int (*p)[10];
    return 0;
}

下面是重点:关于二维数组的。

 重点重点重点:定义一个二维数组

int a[i][j];

p:是一个数组的指针,保存二维数组第一行的起始地址。

p+i:第i+1行的起始地址。

*(p+i):每一行第一个元素的起始地址。

*(p+i)+j :每一行每一个元素的起始地址。

*(*(p+i)+j):每一行的每一个元素。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值