A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© carshoel 中级黑马   /  2015-7-4 19:58  /  1061 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int a[2][3]={{1,2,3,},{4,5,6}};

a是这个二维数组首地址
a+1移动了一个一维数组的长度
*a+1移动了一个一维数组的一个元素的长度
*(a+1)相当于a+1,也移动了一个一维数组的长度
**(a+1)是*(a+1)存的值

int main()
{
        int a[2][3]={{1,2,3},{4,5,6}};
        printf("a=%d\n",a);
        printf("a+1=%d\n",a+1);
        printf("*a+1=%d\n",*a+1);
        printf("*(a+1)=%d\n",*(a+1));
        printf("**(a+1)=%d\n",**(a+1));
        return 0;
}


6 个回复

倒序浏览
谢谢分享,我也正为指针的事发愁啊~
回复 使用道具 举报
学习了,不错
回复 使用道具 举报
二维数组这边还是用行和列解释比较清楚
回复 使用道具 举报
多谢分享总结!!!
回复 使用道具 举报
指针还是有点绕的,用好了就是神器啊
回复 使用道具 举报
弹剑 发表于 2015-7-4 23:31
二维数组这边还是用行和列解释比较清楚

恩,行列比较形象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马