如何把二维,三维数组的地址传递给指针啊?
一维我知道,比如a[2],只要把a传递给指针*p就行了,然后就可以对P进行++--*操作,可是如果是a[2][3]呢,怎么传递啊?还有三维的a[2][3][4]...
一维我知道,比如a[2],只要把a传递给指针*p就行了,然后就可以对P进行++ --*操作,可是如果是a[2][3]呢,怎么传递啊?还有三维的a[2][3][4]
展开
4个回答
展开全部
简单数据类型的数组,不管几维,在内存里都是顺序存放。P++,P--就可以操作。
比如:对于a[2][3]
*P=a[1][3]; P++;
其实就指向了a[2][0],因为它排在a[1][3]后面。
可以自己写个小程序试试。先给个二维数组赋值,p指向首地址,再依次p++试试。
比如:对于a[2][3]
*P=a[1][3]; P++;
其实就指向了a[2][0],因为它排在a[1][3]后面。
可以自己写个小程序试试。先给个二维数组赋值,p指向首地址,再依次p++试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传首地址:
1维 &a[0]
2维 &a[0][0]
3维 &a[0][0][0]
1维 &a[0]
2维 &a[0][0]
3维 &a[0][0][0]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询