首页 > 其他 > 详细

20140326

时间:2014-03-27 04:03:42      阅读:420      评论:0      收藏:0      [点我收藏+]

1、二维数组

http://col1.blog.163.com/blog/static/1909775192012514111830946/

 

int a[2][3];


a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]

  • a相当于是二维数组的首地址,可以理解成一个数组指针(指向一个包含3个元素的数组)
  • *a和a[0]相当于是首元素的地址(*a+1要跳一个int),a相当于数组的地址(a+1要跳三个int)
  • a[1]相当于a+1表示&a[1]的地址,三者打印结果相同。
  • a[0]+1相当于&a[0][1]相当于*(a+0)+1
  • a[1]+1相当于&a[1][1]相当于*(a+1)+1
bubuko.com,布布扣
#include<stdio.h>
void main()
{
    int a[2][3]={1,2,3,4,5,6};
    printf("%d\n",a[1]);
    printf("%d\n",a+1);
    printf("%d\n",&a[1]);
    printf("%d\n",(a[0]+1));
    printf("%d\n",*a+1);
    printf("%d\n",&a[0][1]);
}
bubuko.com,布布扣

2、数组名取地址

int a[10];

&a+1增加了10个int类型的字节的长度了;a+1就是就是a[1]的地址

20140326,布布扣,bubuko.com

20140326

原文:http://www.cnblogs.com/yexuannan/p/3627248.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!