标题:关于指向多维数组的指针和数组指针和指针数组的一些区别
取消只看楼主
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
结帖率:81.82%
已结贴  问题点数:20 回复次数:2 
关于指向多维数组的指针和数组指针和指针数组的一些区别
程序代码:
#include<stdio.h>
void main()
{
    int a[2][3]={1,2,3,4,5,6},*p;  
    p=*a;
   
    printf("%d %d \n",*p,*(p+4));
}


/*#include<stdio.h>
void main()
{
    int a[2][3]={1,2,3,4,5,6};
    int (*p)[3]=*a;
    printf("%d\n",*(*(p+1)+1));
}*/
/*#include<stdio.h>
void main()
{
    int a[2][3]={1,2,3,4,5,6};
    int *p[2]={a[0],a[1]};
    printf("%d\n",*(*(p+1)+1));
}
*/
2016-08-16 11:21
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
得分:0 
上面的代码都是求数组a[1][1]的值。但所设的指针不一样,printf函数中
输出就不一样。*(p+5)和*(*(p+1)+1)输出的都是a[1][1]的值。
大家知道为什么吗?
2016-08-16 11:25
弟大勿勃
Rank: 2
等 级:论坛游民
帖 子:186
专家分:59
注 册:2014-4-17
得分:0 
吃过饭的游侠们瞅瞅,给新手们加深一下数组和指针之间的知识~
2016-08-16 11:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-467912-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.715741 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved