二维数组用法小结

二维数组很常见,现在就一些用法做简单的总结:

①二维数组在内存中是顺序存放的,我们知道一维数组可以用一个一维指针来指向它,由于顺序存放的特点,也可以用一个一维指针指向二维数组,见下面的程序

②可以用指向一维数组的指针来指向二维数组,其用法就和用这个数组一样,见下面的程序:

Code:
  1. #include <stdio.h>   
  2.   
  3. int main()   
  4. {   
  5. int B[2][4]={1,2,3,4,5,6,7,8};   
  6. int *q,(*p)[4];   
  7.   
  8. int i,j;   
  9. q=B;   
  10. for (i=0;i<8;i++)   
  11. {   
  12.     printf("%d/n",q[i]);   
  13.        
  14. }   
  15.   
  16.   
  17. 前半部分是用一维指针来指向它   
  18. p=B;   
  19. for(i=0;i<2;i++)   
  20. for (j=0;j<4;j++)   
  21. {   
  22.     p[i][j]+=1;   
  23.         }   
  24.   
  25.   
  26. for(i=0;i<2;i++)   
  27. for (j=0;j<4;j++)   
  28. {   
  29.     printf("%d/n",B[i][j]);   
  30. }   
  31. ///上面部分是用一个指向一维数组的指针直接指向,效果和数组本身差不多   
  32.   
  33.   
  34. }  

PS:B[0],B[1]表示是0,1行的数组名,可以作为地址,传递给一个一维指针,于是便可以指向这一行。

int *p;

p=B[0];

则,p[2]就表示B[0][2];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值