C:一维数组与二维数组的类型

C:一维数组与二维数组的类型

一维数组以及其类型:

int   arr[4];

arr[0] = 10;

         一维数组  类型
arrint *(整型指针)
arr+1int *
arr[0]int 
arr[0]+1int            

                            

      注释:

       arr为数组,如上图所示,红色箭头为整型指针,其指向首元素的地址。

       arr+1则代表第二个元素的地址,所以也为整型指针。arr[0]代表上图中第一个格子,即阴影部分,其中值为10,则arr[0]=10,arr[0]+1=11,它们的类型都为整型。

二维数组以及其类型:

int brr[3][4];

brr[0][0] = 10;

二维数组类型
brrint (*p)[4]
brr+1int (*p)[4]
brr[0]int *
brr[0]+1int *
brr[0][0]int
brr[0][0]+1int

                                                                                                                            

       注释:

       由于brr[3][4]为二维指针,所以,brr是数组的行指针,即蓝色的格子,也是个指针,用(*p)表示,它是指向数组的指针,并且这个数组与arr[4]的大小以及类型相等,相当于brr[0] 等同 arr[4],所以brr的类型为int (*p)[4],brr+1则代表的是紫色的格子,所以类型也为int (*p)[4]。

         刚解释brr[0] 等同 arr[4],则类型也相等,为int *型,即图中蓝色箭头,指向蓝格子的首元素的地址,brr[0]+1也为int *型,即图中紫色箭头,指向紫格子的首元素的地址。

         brr[0][0]代表的如图中所示为第一行第一个元素,其是int型,brr[0][0]=10,则brr[0][0]+1=11,则brr[0][0]+1也为int 型。

                                           

注意区分:int (*p)[4]:指向数组的指针,简称数组指针;int *p[4]:存放指针的数组,简称指针数组,如上图所示。

 

                                

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值