标题:关于指向多维数组的指针
取消只看楼主
shutyourhead
Rank: 1
等 级:新手上路
帖 子:52
专家分:2
注 册:2010-8-22
 问题点数:0 回复次数:1 
关于指向多维数组的指针
程序中的循环不懂。菜鸟,求指教
main()
{
float a[2][3]={1,2,3,4,5,6};
int i;
for(p=*a,p<*a+2*3;p++)
printf("\n%f",*p);
}
不知道for(p=*a,p<*a+2*3;p++)具体是怎么循环的,还有p<*a+2*3是什么意思?怎么它能把数组输出。
搜索更多相关主题的帖子: 指针 多维 
2010-08-29 13:39
shutyourhead
Rank: 1
等 级:新手上路
帖 子:52
专家分:2
注 册:2010-8-22
得分:0 
以下是引用cosdos在2010-8-29 15:57:01的发言:

*a 就是 a[0] 就是 &a[0][0]。

*a + 2*3  == &a[0][0]

因为数组是连续的,所以 a[2][3] 就是连续的6个float存储空间。
*a + 2*3  == &a[0][0]?是不是意思是说数组是连续的储存空间,可以通过首地址往后走六个储存空间就能得到所有的数组元素。?
2010-08-29 16:02



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




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

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